芹菜任务不是由B分配的

2024-04-19 11:12:35 发布

您现在位置:Python中文网/ 问答频道 /正文

我已经集成了一个API与我的Django网站。对于通过API的完整订单,需要发送和接收5个请求和响应。最后两个请求按顺序发送并不特别重要。我已将这两个请求分配给芹菜任务。你知道吗

场景:我发出一个请求来处理10个订单,所以每个订单有5个请求,其中2个被分配给芹菜任务。因此芹菜总共有10个任务将由经纪人分配。每个任务将有2个请求。你知道吗

结果:在进行API调用时,芹菜没有被分配所有的10个任务,因此对于每组10个订单,完成的订单不是5个,就是4个,就是6个,以此类推。每次有2或3个任务未处理。我不确定是什么原因导致代理没有分配任务。你知道吗

我正在使用delay()命令调用这些任务。我的任务.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\u作业包含两个HTTP请求,它们依次发出,响应保存在DB中。你知道吗

请给出建议


Tags: djangofrom订单importapitaskgetjobs
1条回答
网友
1楼 · 发布于 2024-04-19 11:12:35

替换

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

process_jobs.delay(job, **response_arg)

如果这不能解决你的问题,那么请分享更多细节来找到解决方案。你知道吗

相关问题 更多 >