Transactions.
This commit is contained in:
parent
145373399d
commit
e6f702a6b4
@ -61,7 +61,7 @@ class Application(BaseApplication):
|
|||||||
middlewares=middlewares, template_path=self.template_path, *args, **kwargs
|
middlewares=middlewares, template_path=self.template_path, *args, **kwargs
|
||||||
)
|
)
|
||||||
session_setup(self, EncryptedCookieStorage(SESSION_KEY))
|
session_setup(self, EncryptedCookieStorage(SESSION_KEY))
|
||||||
self.tasks = []
|
self.tasks = asyncio.Queue()
|
||||||
self._middlewares.append(session_middleware)
|
self._middlewares.append(session_middleware)
|
||||||
self.jinja2_env.add_extension(MarkdownExtension)
|
self.jinja2_env.add_extension(MarkdownExtension)
|
||||||
self.jinja2_env.add_extension(LinkifyExtension)
|
self.jinja2_env.add_extension(LinkifyExtension)
|
||||||
@ -76,19 +76,14 @@ class Application(BaseApplication):
|
|||||||
self.on_startup.append(self.prepare_database)
|
self.on_startup.append(self.prepare_database)
|
||||||
|
|
||||||
async def create_task(self, task):
|
async def create_task(self, task):
|
||||||
self.tasks.append(task)
|
await self.tasks.put(task)
|
||||||
|
|
||||||
async def task_runner(self):
|
async def task_runner(self):
|
||||||
while True:
|
while True:
|
||||||
await asyncio.sleep(0.1)
|
task = await self.tasks.get()
|
||||||
task = None
|
|
||||||
try:
|
|
||||||
task = self.tasks.pop(0)
|
|
||||||
except IndexError:
|
|
||||||
continue
|
|
||||||
try:
|
try:
|
||||||
await task
|
await task
|
||||||
except:
|
except Exception as ex:
|
||||||
print(ex)
|
print(ex)
|
||||||
|
|
||||||
async def prepare_database(self,app):
|
async def prepare_database(self,app):
|
||||||
|
@ -62,12 +62,12 @@ class SocketService(BaseService):
|
|||||||
async def broadcast(self, channel_uid, message):
|
async def broadcast(self, channel_uid, message):
|
||||||
count = 0
|
count = 0
|
||||||
async for channel_member in self.app.services.channel_member.find(channel_uid=channel_uid):
|
async for channel_member in self.app.services.channel_member.find(channel_uid=channel_uid):
|
||||||
count += await self.send_to_user(channel_member["user_uid"],message)
|
await self.send_to_user(channel_member["user_uid"],message)
|
||||||
return count
|
return True
|
||||||
|
|
||||||
async def delete(self, ws):
|
async def delete(self, ws):
|
||||||
for s in [sock for sock in self.sockets if sock.ws == ws]:
|
for s in [sock for sock in self.sockets if sock.ws == ws]:
|
||||||
await s.close()
|
await s.close()
|
||||||
self.sockets.remove(s)
|
self.sockets.remove(s)
|
||||||
|
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user