1

まず最初CELERY_CREATE_MISSING_QUEUES = Falseに、私は celeryconfigを持っており、 celery worker -Q queue1. queue1が作成され、ワー​​カーがリッスンしていることをモニタリングで確認できます。ここで、(経由でCELERY_ROUTES) にルーティングされるタスクを起動すると、それが作成されqueue2ていることがわかります。queue2誰かがこの動作を説明できますか? 注: 私が求めていることは、この質問とは異なると思います。なぜなら、結果を保存するために作成された一時キューの有効期間を見て、理解し、制御できるからです。私が知りたいのは、補助キューが作成されている理由です。

4

1 に答える 1

2

-Qワーカーが起動すると、セロリは引数や設定で明示的に指定されたキューを自動的に作成しますCELERY_QUEUES

このCELERY_CREATE_MISSING_QUEUES設定は、ワーカーの起動時にこれら 2 つのメカニズムのいずれかを使用して指定されていない他のキューを参照します。たとえば、一覧にないキューをタスク デコレータの 1 つに指定するとします。

@app.task(queue='some-new-queue'):
def some_task(params):
    pass

Celery がsome-new-queueそれが存在しないと判断すると、それが作成されますが、CELERY_CREATE_MISSING_QUEUES設定が True の場合のみです。そうしないとエラーになります。

于 2015-04-29T18:01:38.893 に答える