我目前正在实现一个容器化python应用程序来处理队列中的消息
主进程将每n秒轮询一次队列,然后处理它收到的所有消息。但是,我也希望这个应用程序公开一个带有健康检查和其他端点的API,这些端点可以将作业发送到主进程
我想知道python中有哪些标准库可以做到这一点,如果有的话。我见过一些在FastAPI上使用后台任务的例子,但这不符合我的要求,因为服务应该在启动时轮询队列,而不向其端点发出任何请求
我也看过上面提到的芹菜库,但它似乎比我所需要的要复杂得多
有没有一种简单的方法可以让FastAPI应用程序与长时间运行的进程“并排”运行,并且两者都可以通信
多处理模块有自己的队列版本。在调用程序中,首先创建一个队列,如下所示:
然后,在调用mp.process()以启动长时间运行的任务时,通过将此队列对象放入参数中,将其传递给流程
然后,调用程序中检查队列中消息的函数如下所示:
最后,在长时间运行的流程中,您可以使用
如果希望以另一种方式将消息从调用者发送到任务,则可以创建一个单独的队列,并在调用者中执行“put”ting,在任务中执行“get”ting
在线程中启动其他任务或使用asyncio后,可以像this示例中那样以编程方式运行FastAPI。通过这种方式,您应该能够从服务器端点与之前启动的任何对象进行通信
相关问题 更多 >
编程相关推荐