如何運行所有芹菜任務沒有工人,我的意思是直接打電話? 我可以使用TaskName.run()調用任務,但是我想在配置中編寫它,所以如何使它成爲可能?沒有工人運行芹菜任務
2
A
回答
4
只需將CELERY_ALWAYS_EAGER設置爲true,這將強制芹菜不排隊任務並在當前進程中同步運行它們。
如果你希望能夠做到這一點每個特定的任務,你可以用運行它們適用()或的run()如你所提到的,而不是用apply_async()或延遲運行它們()。
所以TL;博士:
CELERY_ALWAYS_EAGER = True
# The following two would do and act the same, processing synchronously
my_task.run()
my_task.delay()
但
CELERY_ALWAYS_EAGER = False
# These two won't be the same anymore.
my_task.run() # Runs synchronously
my_task.delay() # Passed to the queue and runs Asynchronously, in another process
0
如果我理解你是對的,你想同步調用任務。
只要調用方法爲正常:
TaskName()
你只需要使用delay
當你想將它傳送給工人。
相關問題
- 1. (芹菜):在特定的工作人員中運行任務?
- 2. 兩個項目工人沒有收到芹菜任務
- 3. 芹菜工人不重試任務()
- 4. Django芹菜週期性任務沒有運行(Heroku)?
- 5. 在芹菜工人運行測試
- 6. Django的芹菜 - 運行計劃任務
- 7. 在芹菜任務中運行postgres VACUUM
- 8. 芹菜週期性任務沒有得到執行任務.py
- 9. 芹菜任務不工作
- 10. 如何回覆沒有芹菜的芹菜任務?
- 11. 執行其他芹菜任務不工作的芹菜週期性任務
- 12. 單一芹菜任務暫停所有其他芹菜工
- 13. 芹菜任務
- 14. 芹菜任務
- 15. Redis Broker的芹菜工人無法執行Django任務
- 16. 芹菜任務不執行
- 17. 芹菜工人掛起沒有任何錯誤
- 18. 廣播任務,所有工人:Redis的+芹菜
- 19. 芹菜工人什麼時候向RabbitMQ承認它有任務?
- 20. 運行的systemd服務強制停止芹菜工人
- 21. 我如何確保芹菜任務在工人上連續運行?
- 22. python芹菜 - 如何在運行時向工作人員添加CELERYBEAT_SCHEDULE任務?
- 23. 芹菜 - 如何讓工人在運行X個任務後退出?
- 24. 在芹菜中,當工人即將關閉時如何中止運行任務?
- 25. django通過當地人()芹菜任務
- 26. 運行更多任務的芹菜任務
- 27. 運行芹菜任務時無法導入任務
- 28. 芹菜沒有運行和絃回調
- 29. 芹菜鏈任務
- 30. 推芹菜任務
確定,但你如何得到返回值?這仍然是由芹菜 – kentor
包裹在其他東西。你仍然可以總是調用一個方法指定爲一個任務,你可以調用任何其他方法在Python中。 Celery只是將調用添加到外部進程可以執行的隊列中。如果你需要在芹菜內外調用這個任務(並且在外部,我的意思是同步執行一個腳本,而不是輪詢響應或類似的東西,或者使用任何異步工具),然後將其稱爲正常。沒有什麼奇特的需要。它仍然是一個可以返回值的方法,等等。 –