Моя цель - отправлять уведомления в режиме реального времени пользователю.
сообщение поступит от celery
работника.
и будет отправлено пользователю с помощью aiohttp
через sockjs
.
как запустить оба приложения в одном приложении? или получить сообщения об экземпляре aiohttp
, где у меня есть данные аутентифицированных пользователей в памяти? Каков наилучший подход для достижения этого?
Я попытался запустить их вместе, используя aiohttp
on_startup
. но сельдерей блокирует основную нить, поэтому это невозможно.
async def run_celery(app):
.... run celery
app = web.Application(loop=asyncio.get_event_loop())
app.on_startup.append(run_celery)
sockjs.add_endpoint(app, msg_handler, name='messeging', prefix='/sockjs/')
большое спасибо.
шей