python中关于芹菜的一些混淆
我把芹菜分成以下几部分python中关于芹菜的一些混淆,python,django,celery,Python,Django,Celery,我把芹菜分成以下几部分 芹菜 芹菜工人 芹菜守护进程 经纪人:Rabbimq或SQS 排队 结果后端 芹菜监视器(花卉) 我的理解 当我在django中点击芹菜任务时,e,g tasks.add(1,2)。然后芹菜将该任务添加到队列中。我不知道上面的列表是4还是5 当任务进入队列时,工人获得该任务并从队列中删除 该任务的结果保存在结果后端 我的困惑 芹菜守护进程和芹菜工作者之间有什么区别 Rabbitmq正在执行队列的工作。这是否意味着任务保存在Rabitmq或SQS中 花做什么。它是否监视工作
首先,简单解释一下它是如何工作的。您的代码中运行了芹菜客户端。您可以调用
tasks。添加(1,2)
并创建一个新的芹菜任务。该任务由代理
传输到队列。是,队列持久化为Rabbimq或SQS。芹菜守护进程总是在运行,并且正在侦听新任务。当队列中有一个新任务时,它会启动一个新的芹菜工人来执行该工作
回答您的问题:
芹菜守护进程总是在运行,它正在启动芹菜工人
是的,Rabitmq或SQS正在执行队列的工作
使用芹菜监视器,您可以监视正在运行的任务数、已完成的任务数、队列大小等
首先,简单解释一下它是如何工作的。您的代码中运行了芹菜客户端。您可以调用tasks。添加(1,2)
并创建一个新的芹菜任务。该任务由代理
传输到队列。是,队列持久化为Rabbimq或SQS。芹菜守护进程总是在运行,并且正在侦听新任务。当队列中有一个新任务时,它会启动一个新的芹菜工人来执行该工作
回答您的问题:
芹菜守护进程总是在运行,它正在启动芹菜工人
是的,Rabitmq或SQS正在执行队列的工作
使用芹菜监视器,您可以监视正在运行的任务数、已完成的任务数、队列大小等
我认为nstoitsev的回答是善意的,但会造成一些混乱。
让我们试着澄清一下
- 芹菜流程是否负责执行
任务,当配置为在后台运行时,通常称为
芹菜守护进程。所以你可以考虑这两件事。
为了澄清nstoitsev答案的混乱,每个工作进程可以有一个大于1的并发参数。在这种情况下,每个芹菜工人能够创建N个子工人,直到达到并发参数以并行执行任务,这通常也称为工人
- 代理持有队列并进行交换这意味着芹菜工人能够使用称为AMQP的协议连接到代理并发布或使用消息
- Flower能够使用代理本身监控芹菜集群。基本上能够从所有的工人那里得到帮助。如果您禁用了后端结果,即btw是芹菜的默认行为,Flower也可以工作
希望这能有所帮助。我认为nstoitsev的回答是出于好意,但会造成一些混乱。
让我们试着澄清一下
- 芹菜流程是否负责执行
任务,当配置为在后台运行时,通常称为
芹菜守护进程。所以你可以考虑这两件事。
为了澄清nstoitsev答案的混乱,每个工作进程可以有一个大于1的并发参数。在这种情况下,每个芹菜工人能够创建N个子工人,直到达到并发参数以并行执行任务,这通常也称为工人
- 代理持有队列并进行交换这意味着芹菜工人能够使用称为AMQP的协议连接到代理并发布或使用消息
- Flower能够使用代理本身监控芹菜集群。基本上能够从所有的工人那里得到帮助。如果您禁用了后端结果,即btw是芹菜的默认行为,Flower也可以工作
希望这会有所帮助。可以手动重试失败的任务,或者将失败的任务移动到另一个队列以重新刷新。这将是另一个问题,堆栈溢出规则明确规定不将注释用作聊天。无论如何,这个文档页面可以帮助您解决问题。如果可以手动重试失败的任务,或者将失败的任务移动到另一个队列以重新生成laterHi,这将是另一个问题,堆栈溢出规则明确规定不将注释用作聊天。无论如何,这个文档页面可以帮助您解决问题。