celery -A proj report
dalam masalah ini.master
cabang Seledri.software -> celery:3.1.0 (Cipater) kombu:3.0.37 py:2.7.10
billiard:3.3.0.23 py-amqp:1.4.9
platform -> system:Darwin arch:64bit imp:CPython
loader -> celery.loaders.default.Loader
settings -> transport:amqp results:redis://localhost:6379/0
CELERY_QUEUES:
(<unbound Queue Test_Queue -> <unbound Exchange test_exchange(topic)> -> myapp.tasks.some_tasks.#>,
<unbound Queue Test_Queue -> <unbound Exchange test_exchange(topic)> -> myapp.tasks.more_tasks.#>)
RABBITMQ_MANAGEMENT_URL: 'localhost:15672'
CELERY_IMPORTS:
('myapp.tasks.some_tasks', 'myapp.tasks.more_tasks')
CELERY_ROUTES:
(<myapp.routers.DefaultRouter object at 0x1077952d0>,)
BROKER_URL: 'amqp://guest:********<strong i="13">@localhost</strong>:5672//'
CELERY_RESULT_BACKEND: 'redis://localhost:6379/0'
CELERY_QUEUES = (
Queue("Test_Queue", default_exchange, routing_key="myapp.tasks.some_tasks.#"),
Queue("Test_Queue", default_exchange, routing_key="myapp.tasks.more_tasks.#"),
)
myapp.tasks.some_tasks.#
celery amqp
queue.bind Test_Queue test_exchange Key1
queue.bind Test_Queue test_exchange Key2
CELERY_QUEUES adalah pemetaan dari queue_name ke antrian, jadi karena Anda mendefinisikan dua antrian
dengan nama yang sama, hanya satu yang akan digunakan.
Untuk menentukan antrian dengan banyak binding di Kombu, Anda harus menggunakan:
from kombu import Exchange, Queue, binding
default_exchange = Exchange('default', type='direct')
CELERY_QUEUES = (
Queue('Test_Queue', [
binding(default_exchange, routing_key='myapp.tasks.some_tasks.#'),
binding(default_exchange, routing_key='myapp.tasks.more_tasks.#'),
]),
)
Besar! Baru saja mengujinya dan kedua binding telah dipakai. Apakah ini layak ditambahkan ke dokumen perutean? Saya dapat membuat permintaan tarik kapan saja malam ini atau besok
Tentu! Itu akan menjadi ide bagus untuk memilikinya di dokumen :)
Komentar yang paling membantu
CELERY_QUEUES adalah pemetaan dari queue_name ke antrian, jadi karena Anda mendefinisikan dua antrian
dengan nama yang sama, hanya satu yang akan digunakan.
Untuk menentukan antrian dengan banyak binding di Kombu, Anda harus menggunakan: