我正在编写一个必须处理异步任务的服务器。对于异步代码,我更愿意使用asyncio,所以我选择在Uvicorn中使用Quart-OpenAPI框架。现在,我需要在服务器启动时运行一个任务(下面代码中的master.resume()),而不是等待它完成,也就是触发并忘记它。按照建议的in this answer使用loop.run_until_complete()将阻塞服务器,直到任务完成。
每次消息出现时,我都试图使用async for message in receiver:建议来触发函数,但我不确定如何正确处理,因为我很少有使用异步函数的经验。熟悉异步/服务总线的人能解释如何对代码进行格式化吗?
编辑:让我提供更多的上下文。我正在创建python烧瓶服务,在启动时,我需要它开始监听主题/订阅_名称上的消息。如何在启动时启动异步侦听器,并让它在触发时执行一些代码?它还应该能够以非阻塞的方式处理每条消
我的Django项目在python3.8中。我增加了芹菜来处理异步功能。在生产上,我计划使用主管。'supervisor==3.3.1' distribution was not found and is required by the application
我尝试使用pip安装3.3.1,但python3.8我试过使用,但是文档对于如何在服务器启动时自动运行的问题还不太清楚。如何在后台启动,停止并重新启动。
当前的想法:对每个处理程序的匹配进行轮询,并确保每个处理程序匹配组合只通过一个额外的表触发一次。在这种情况下,我不会触发可以在其他地方侦听的事件,每个处理程序都在执行自己的查询。5 days after ...上的3个处理程序将触发3个查询。或者,我可以每天做一次events not处理程序的cron工作,但我认为我必须跟踪触发的每一个事件,以确保不触发2,或者不跳过其中的事件(例如,由于停机而跳过20%的事件)。