2016-06-21 65 views
0

我已將API與我的Django網站集成。對於通過API的完整訂單,需要發送和接收5個請求和響應。最後2個請求並不是非常重要的,要依次發送。我已將這2個請求分配給芹菜任務。經紀人未分配的芹菜任務

情景:我發出處理10個訂單的請求,因此每個訂單有5個請求,其中2個請求分配給芹菜任務。因此芹菜共有10項任務將由經紀人分配。每個任務都有2個請求。

結果:正在進行API調用時,芹菜未被分配全部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請求。

請指點

回答

0

process_jobs.delay(job, **response_arg) 

更換

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

如果不解決您的問題,那麼請分享更詳細地找到解決方案。

+0

當然,讓我檢查,並讓你知道。 –

+0

有沒有更新? @ user778907 –