Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/290.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
python中关于芹菜的一些混淆_Python_Django_Celery - Fatal编程技术网

python中关于芹菜的一些混淆

python中关于芹菜的一些混淆,python,django,celery,Python,Django,Celery,我把芹菜分成以下几部分 芹菜 芹菜工人 芹菜守护进程 经纪人:Rabbimq或SQS 排队 结果后端 芹菜监视器(花卉) 我的理解 当我在django中点击芹菜任务时,e,g tasks.add(1,2)。然后芹菜将该任务添加到队列中。我不知道上面的列表是4还是5 当任务进入队列时,工人获得该任务并从队列中删除 该任务的结果保存在结果后端 我的困惑 芹菜守护进程和芹菜工作者之间有什么区别 Rabbitmq正在执行队列的工作。这是否意味着任务保存在Rabitmq或SQS中 花做什么。它是否监视工作

我把芹菜分成以下几部分

  • 芹菜
  • 芹菜工人
  • 芹菜守护进程
  • 经纪人: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,这将是另一个问题,堆栈溢出规则明确规定不将注释用作聊天。无论如何,这个文档页面可以帮助您解决问题。