有一个有关芹菜和弦队列选择的问题。
我使用芹菜4.1,python 2.7.10和兔子3.5.4作为经纪人。
我一开始我的目的是在队列中获得多少和弦任务。
因此,我将链任务和和弦回调任务分为不同的队列,并可能从回调队列深度获得待处理的任务编号。
这是代码段:
@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计划在任务summary_up排队"摘要"时排队"原子"。
现在有问题,当我调用图像中有两个元素的和弦时,预期的结果是" Atom"中的两个Analyze_ATOM任务,而"摘要"中的一个summary_up任务,是吗?
我使用RabbitMQ管理来检查队列,但是,我只在Atom中找到两个任务,而在摘要队列中没有任何任务,并且"摘要"队列始终是0,即使成功完成了整个和弦任务。
。我不知道summary_up任务计划在哪里?
有人知道和弦任务如何选择队列?
谢谢。
韦斯利
我之前遇到过队列问题,尝试将代码更改为
chord(analyze_atom.s([image]).set(queue="atom") for image in images)(summary_up.s(studentuid, images).set(queue="summary"))