相关疑难解决方法(0)

Celery Group任务用于map/reduce工作流程

我可以使用Celery Group原语作为map/reduce工作流程中的伞形任务吗?

或者更具体:组中的子任务是否可以在多个服务器上的多个工作程序上运行

来自文档:

However, if you call apply_async on the group it will send a special 
grouping task, so that the action of calling the tasks happens in a worker 
instead of the current process
Run Code Online (Sandbox Code Playgroud)

这似乎意味着任务都发送给一个工人......

在3.0(仍然)之前,可以在可以在多个服务器上运行的TaskSet中触发子任务.问题是确定所有任务是否已完成执行.这通常是通过轮询所有不太优雅的子任务来完成的.我想知道是否可以使用Group原语来缓解这个问题.

celery

13
推荐指数
1
解决办法
2977
查看次数

区分芹菜,海带,PyAMQP和RabbitMQ/ironMQ

我想将图像上传到S3服务器,但在上传之前我想生成3种不同大小的缩略图,我希望它可以在请求/响应周期之外完成,因此我使用的是芹菜.我已经阅读了文档,这是我所理解的.如果我错了,请纠正我.

  1. Celery可帮助您在请求响应周期之外管理任务队列.
  2. 然后有一个名为carrot/kombu的东西 - 它是一个django中间件,它包含通过芹菜创建的任务.
  3. 然后是第三层PyAMQP,它促进了胡萝卜与经纪人的沟通.例如.RabbitMQ,AmazonSQS,ironMQ等
  4. 经纪人坐在不同的服务器上为你做事.

现在我的理解是 - 如果多个用户同时上传图像,芹菜会将调整大小排队,调整大小实际上会发生在ironMQ服务器上,因为它在heroku上提供了一个很酷的插件.

现在怀疑:

  1. 但是在图像调整大小之后,ironMQ会将其推送到S3服务器,还是会在完成该过程后通知它...我不清楚它.

  2. 芹菜和海带/胡萝卜有什么区别,能否生动地解释一下.

python heroku rabbitmq celery kombu

7
推荐指数
1
解决办法
5009
查看次数

标签 统计

celery ×2

heroku ×1

kombu ×1

python ×1

rabbitmq ×1