簡體   English   中英

芹菜和弦任務如何選擇隊列?

[英]How celery chord tasks select queue?

有一個關於芹菜和弦隊列選擇的問題。

我使用celery 4.1,python 2.7.10和rabbitmq 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))

因此,將analyzer_atom安排為將“ atom”排隊,而將任務summary_up安排為將“ summary”排隊。

現在出現問題了,當我在圖像中調用帶有兩個元素的和弦時,預期的結果是“ atom”中的兩個analyze_atom任務和“ summary”中的一個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"))

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM