在 http 微服务中实现后台作业

implement a background job inside a http microservice

我有一个微服务(用 Python 编写),它公开了一些端点,每个端点都可以通过 http 请求(烧瓶)执行。

我有一个需要很长时间才能完成的特定端点,所以我想在触发此入口点后 运行 后台作业,以减少其响应时间。

例如,我希望 flask 通过 http 请求启动进程,当它启动时我想将任务推送到 rabbitMQ 队列中。消费者应该在同一个应用程序中还是在不同的服务中?

消费者可以在同一个代码库中共享模型、函数和其他工具,只是运行它作为单独的工作进程。

Celery 对于这样的任务来说是多余的,试试 Pika 或 Dramatiq。