Уведомления

Группа в Telegram: @pythonsu
  • Начало
  • » Web
  • » Нубский вопрос по asyncio/aiohttp/websockets [RSS Feed]

#1 Фев. 2, 2018 19:07:21

a-lexx
Зарегистрирован: 2018-01-05
Сообщения: 12
Репутация: +  0  -
Профиль   Отправить e-mail  

Нубский вопрос по asyncio/aiohttp/websockets

Всем Ку! Есть вот такая прожка:

 from aiohttp import web
import asyncio
async def ws_handler(request):
	ws_resp = web.WebSocketResponse()
	await ws_resp.prepare(request)
	while True:		
		await ws_resp.send_str('1 min')
		await asyncio.sleep(60)
	
	while True:		
		await ws_resp.send_str('10 sec')
		await asyncio.sleep(10)
	
	async for msg in ws_resp:
		await ws_resp.send_str(msg.data)
	return ws_resp
gpro_app = web.Application()
gpro_app.router.add_get('/ws', ws_handler)

Работает и отправляет сообщения только первый блок while True. Я понимаю, что он блокирует то, что идет ниже, но не знаю, как сделать так, чтобы все три блока (первый while True, второй while True и async for) работали одновременно, не мешая друг другу. Есть еще важный момент, нужно, чтобы эти блоки были привязаны к обработчику ws_handler в том смысле, что когда обработчик завершался, то эти три блока также заканчивали свою работу.

Отредактировано a-lexx (Фев. 2, 2018 19:09:14)

Офлайн

#2 Фев. 2, 2018 21:34:02

vic57
Зарегистрирован: 2015-07-07
Сообщения: 893
Репутация: +  126  -
Профиль   Отправить e-mail  

Нубский вопрос по asyncio/aiohttp/websockets

asyncio так не будет работать
http://websockets.readthedocs.io/en/stable/intro.html

Офлайн

  • Начало
  • » Web
  • » Нубский вопрос по asyncio/aiohttp/websockets[RSS Feed]

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version