Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/276.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_Rabbitmq_Celery - Fatal编程技术网

Python 芹菜和弦任务如何选择队列?

Python 芹菜和弦任务如何选择队列?,python,rabbitmq,celery,Python,Rabbitmq,Celery,有一个关于芹菜和弦队列选择的问题 我使用芹菜4.1、python 2.7.10和rabbitmq 3.5.4作为代理 我一开始的目的是获取队列中有多少个chord任务处于挂起状态 因此,我将chain任务和chord回调任务划分为不同的队列,并可以从回调队列深度中获取挂起的任务编号 下面是代码片段: @shared_task(name="analyze_atom", queue="atom") def analyze_atom(image_urls, targetdir=target_path,

有一个关于芹菜和弦队列选择的问题

我使用芹菜4.1、python 2.7.10和rabbitmq 3.5.4作为代理

我一开始的目的是获取队列中有多少个chord任务处于挂起状态

因此,我将chain任务和chord回调任务划分为不同的队列,并可以从回调队列深度中获取挂起的任务编号

下面是代码片段:

@shared_task(name="analyze_atom", queue="atom")
def analyze_atom(image_urls, targetdir=target_path, studentuid=None):
    return {}


@shared_task(name="summary_up", queue="summary")
def summary_up(rets, studentuid, images):
    return {}


chord(analyze_atom.s([image]) for image in images)(summary_up.s(studentuid, images))
因此,analyze_atom被安排为队列“atom”,而task summary_被安排为队列“summary”

现在问题来了,当我用图像中的两个元素调用chord时,预期的结果是“atom”中的两个analyze\u atom任务和“summary”中的一个summary\u up任务,嗯

我使用rabbitmq管理来检查队列,但是,我在atom中只找到两个任务,而在摘要队列中什么都没有,而且即使整个chord任务成功完成,“摘要”队列始终为0

我不知道总结任务安排在哪里

有人知道chord任务如何选择队列吗

谢谢


Wesley

我以前遇到过队列问题,请尝试将代码更改为

chord(analyze_atom.s([image]).set(queue="atom") for image in images)(summary_up.s(studentuid, images).set(queue="summary"))

非常感谢。在浏览了芹菜文档和问题之后,这就是解决方案——尽管我只有一个队列!