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

问题描述

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

我有一个特定的终结点,需要很长时间才能完成,所以我认为一旦触发该入口点就运行后台作业,以减少响应时间。

例如,我希望Flask通过http请求启动该过程,并且在启动时我想将一个任务推送到RabbitMQ队列中。.消费者应该使用同一应用程序还是使用不同的服务?>

解决方法

消费者可以生活在同一代码库中,以共享模型,功能和其他工具,只需将其作为单独的工作进程运行即可。

对于这样的任务,Celery是多余的,请尝试使用Pika或Dramatiq。

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...