簡體   English   中英

當我們用.delay()調用任務時芹菜任務將被執行

[英]when celery task will be execute if we call task with .delay()

我的朋友一直在談論用芹菜做一些耗時的工作。因為我沒有計算機科學,所以我無法准確了解芹菜任務的執行時間。 在celery文件中,在調用.delay()時討論守護進程,但是我找不到什么是守護進程,最后如果我們通過.delay()調用芹菜任務將會執行它? :)

例如,當我執行my_task時,我有以下代碼? function.py:

def test():
    my_task.delay()
    while second<10:
       second += 1 # assume this part take a second

1 - 完全在test()函數完成時(在test()調用后約10秒)

2 - 在while loop中間

3-完成test()和請求不是太多,服務器有時間和資源來完成任務! (也許芹菜很聰明,知道執行任務的最佳時間)

4-每當想要:)

我沒有指出的正確方法。 :)

如果它取決於配置我必須告訴我使用芹菜文檔的默認配置。謝謝你。

想象一下,你沒有單獨完成這項任務,而是幾項任務。 如果使用my_task.delay()調用它, my_task.delay()所有這些任務放在隊列中。 現在有幾個工人只選擇第一個打開的任務並執行它們。

所以正確的答案是“只要負責任的工人有空”。 這可能會在您進入while second<10: -loop之前立即進行,但如果工作人員當前正忙,也可能需要幾秒鍾或幾分鍾。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM