Ceker任务未由经纪人分配

时间:2016-06-21 11:38:50

标签: python django celery django-celery celery-task

我已经在我的Django网站上集成了一个API。对于通过API的完整订单,需要发送和接收5个请求和响应。最后2个请求不是非常重要的顺序发送。我已将这2个请求分配给芹菜任务。

场景:我发出处理10个订单的请求,因此每个订单有5个请求,其中2个被分配给芹菜任务。因此,芹菜共有10个任务,由经纪人分配。每个任务都有2个请求。

结果:在进行API调用时,并未为Celery分配所有10个任务,因此对于每组10个订单,完成的订单为5或4或6,依此类推。每次有2或3个未处理的任务。我不确定是什么导致任务不由经纪人分配。

我正在使用delay()命令来调用任务。我的task.py文件看起来有点像这个

from celery import shared_task
from celery.utils.log import get_task_logger

logger = get_task_logger(__name__)


@shared_task
def process_jobs(client_obj, job, **kwargs):

    # do task related work

对此任务的调用如下所示

process_jobs.delay(self, job, **response_arg)

process_jobs包含2个HTTP请求,这些请求是一个接一个地顺序生成的,并且响应保存在数据库中。

请咨询

1 个答案:

答案 0 :(得分:0)

替换

process_jobs.delay(self, job, **response_arg)

process_jobs.delay(job, **response_arg)

如果这不能解决您的问题,请分享更多细节以找到解决方案。