Django 芹菜加工工艺

Django 芹菜加工工艺,django,celery,django-celery,Django,Celery,Django Celery,我是django的初学者,我已经安装了芹菜 如果排队的工作是同步或异步处理的,我对芹菜的工作感到困惑。当排队的工作已被处理时,其他工作是否可以排队?芹菜是一个任务排队系统,由消息队列系统支持,芹菜允许您异步调用任务,其方式不会阻止任务完成的进程,您可以使用 其他任务可以在处理任务时排队,如果芹菜正在运行多个进程/线程(这是默认情况),任务将彼此并行执行 您有责任确保以正确的顺序执行相关任务,例如,如果任务a的输出是另一个任务B的输入,那么您应该确保在开始任务B之前从任务a获得结果 阅读芹菜文档。

我是django的初学者,我已经安装了芹菜


如果排队的工作是同步或异步处理的,我对芹菜的工作感到困惑。当排队的工作已被处理时,其他工作是否可以排队?

芹菜是一个任务排队系统,由消息队列系统支持,芹菜允许您异步调用任务,其方式不会阻止任务完成的进程,您可以使用

其他任务可以在处理任务时排队,如果芹菜正在运行多个进程/线程(这是默认情况),任务将彼此并行执行

您有责任确保以正确的顺序执行相关任务,例如,如果任务
a
的输出是另一个任务
B
的输入,那么您应该确保在开始任务
B
之前从任务
a
获得结果


阅读芹菜文档。

我想你可能对芹菜的作用有点困惑

芹菜并不是排队的真正原因。这是由队列本身负责的——RabbitMQ、Redis或其他。芹菜在这方面的唯一方式是作为一个库,你在应用程序中调用它,将任务序列化为适合放入队列的内容。由于这是由您的web应用程序完成的,因此它与您的应用程序本身完全同步或异步:通常,在生产中,您会有多个进程运行您的站点,每个进程都可以同时将内容放入队列,但每个队列操作都是在进程中完成的

芹菜的主要特点是独立的工作流程。这就是异步位的来源:worker完全独立于web应用程序运行,并根据需要从队列中挑选任务。他们根本不参与首先将任务放入队列的过程