diff --git a/src/snek/app.py b/src/snek/app.py
index 1d225cc..3094dd5 100644
--- a/src/snek/app.py
+++ b/src/snek/app.py
@@ -61,6 +61,7 @@ class Application(BaseApplication):
             middlewares=middlewares, template_path=self.template_path, *args, **kwargs
         )
         session_setup(self, EncryptedCookieStorage(SESSION_KEY))
+        self.tasks = []
         self._middlewares.append(session_middleware)
         self.jinja2_env.add_extension(MarkdownExtension)
         self.jinja2_env.add_extension(LinkifyExtension)
@@ -68,12 +69,28 @@ class Application(BaseApplication):
         self.jinja2_env.add_extension(EmojiExtension)
         
         self.setup_router()
-       
+     
         self.cache = Cache(self)
         self.services = get_services(app=self)
         self.mappers = get_mappers(app=self)
         self.on_startup.append(self.prepare_database)
 
+    async def create_task(self, task):
+        self.tasks.append(task)
+
+    async def task_runner(self):
+        while True:
+            await asyncio.sleep(0.1)
+            task = None
+            try:
+                task = self.tasks.pop(0)
+            except IndexError:
+                continue 
+            try:
+                await task
+            except:
+                print(ex)
+
     async def prepare_database(self,app):
         self.db.query("PRAGMA journal_mode=WAL")
         self.db.query("PRAGMA syncnorm=off")
@@ -89,6 +106,7 @@ class Application(BaseApplication):
             pass 
  
         await app.services.drive.prepare_all()
+        self.loop.create_task(self.task_runner())
 
     def setup_router(self):
         self.router.add_get("/", IndexView)
diff --git a/src/snek/service/chat.py b/src/snek/service/chat.py
index 17c677b..ecaedb7 100644
--- a/src/snek/service/chat.py
+++ b/src/snek/service/chat.py
@@ -21,7 +21,10 @@ class ChatService(BaseService):
         
         user = await self.services.user.get(uid=user_uid)
         await self.services.notification.create_channel_message(channel_message_uid)
-        sent_to_count = await self.services.socket.broadcast(channel_uid, dict(
+        channel['last_message_on'] = now()
+        await self.services.channel.save(channel)
+        
+        await self.app.create_task(self.services.socket.broadcast(channel_uid, dict(
             message=channel_message["message"],
             html=channel_message["html"],
             user_uid=user_uid,
@@ -32,7 +35,5 @@ class ChatService(BaseService):
             username=user['username'],
             uid=channel_message['uid'],
             user_nick=user['nick']
-        ))
-        channel['last_message_on'] = now()
-        await self.services.channel.save(channel)
-        return sent_to_count
\ No newline at end of file
+        )))
+        return True