Q
芹菜工作流程
1
A
回答
2
Celery是一個任務排隊系統,由消息隊列系統支持,Celery允許您以不會阻塞任務完成的進程的方式異步調用任務,您可以等待任務完成使用AsyncResult.get
。
其他任務可以在任務正在處理時排隊,如果Celery運行多個進程/線程(這是默認情況),任務將相互並行執行。
您有責任確保相關任務以正確的順序執行,例如,如果任務A
的輸出是其他任務B
的輸入,那麼在開始任務B
之前,您應該確保從任務A
獲得結果。
從Celery文檔中閱讀Avoid launching synchronous subtasks。
1
我想你可能會對芹菜做些什麼感到困惑。
芹菜並不真正負責排隊。這由隊列本身來處理 - RabbitMQ,Redis或其他。 Celery在這方面涉及的唯一方式就像在應用程序中調用的庫,以便將任務序列化爲適合放入隊列的任務。由於這是由您的Web應用程序完成的,因此它與您的應用程序本身完全同步或異步:通常,在生產中,您將有多個進程運行您的站點,這些進程中的每一個都可以同時將所有內容放入隊列中,但每個隊列行動在過程中完成。
芹菜的要點是單獨的工人過程。這是異步位的來源:工作人員完全獨立於您的Web應用程序運行,並根據需要從隊列中選擇任務。他們根本不參與將任務放到隊列中的過程。
相關問題
- 1. Python芹菜任務工作流程excution
- 2. Django芹菜工作流暫停/恢復
- 3. 獲取芹菜任務ID在先進的工作流程
- 4. 芹菜4.0.0和基於任務的任務工作流程
- 5. 在芹菜工作流程中引入同步鏈式執行
- 6. 芹菜製作芹菜MQL
- 7. 芹菜工作者內的多線程
- 8. 芹菜流結果
- 9. 芹菜update_state()不工作
- 10. 芹菜任務不工作
- 11. Python +芹菜:鏈接工作?
- 12. Django的芹菜不工作
- 13. Pinging芹菜工
- 14. 基於Python的異步工作流模塊:芹菜工作流和luigi工作流有什麼區別?
- 15. Django芹菜電子郵件,芹菜不工作
- 16. 無法讓芹菜工人工作
- 17. 在地圖/縮小工作流程中使用的芹菜組任務
- 18. 芹菜關閉從task_success處理程序不工作的工人
- 19. 芹菜擊敗有時停止工作
- 20. 芹菜廣播任務不工作
- 21. 使用node.js創建芹菜工作者
- 22. 在芹菜結合工作結果
- 23. 芹菜 - 倒計時如何工作?
- 24. 芹菜定期任務不工作
- 25. 芹菜結果,得不到工作
- 26. 芹菜3.0.12倒計時不工作
- 27. 芹菜拍不能正常工作
- 28. 如何殺死芹菜工作進程以重啓進程
- 29. django芹菜和芹菜拍
- 30. 執行其他芹菜任務不工作的芹菜週期性任務