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