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. 执行其他芹菜任务不工作的芹菜周期性任务