celery -A proj report
рдХрд╛ рдЖрдЙрдЯрдкреБрдЯ рд╢рд╛рдорд┐рд▓ рдХрд┐рдпрд╛ рд╣реИредmaster
рд╢рд╛рдЦрд╛ рдХреЗ рдЦрд┐рд▓рд╛рдл рд╕рдорд╕реНрдпрд╛ рдореМрдЬреВрдж рд╣реИред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 рдХреНрдпреВ_рдирд╛рдо рд╕реЗ рдХреНрдпреВ рддрдХ рдореИрдкрд┐рдВрдЧ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдЪреВрдВрдХрд┐ рдЖрдк рджреЛ рдХреНрдпреВ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░ рд░рд╣реЗ рд╣реИрдВ
рдПрдХ рд╣реА рдирд╛рдо рдХреЗ рд╕рд╛рде, рдЙрдирдореЗрдВ рд╕реЗ рдХреЗрд╡рд▓ рдПрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред
рдХреЛрдореНрдмреВ рдореЗрдВ рдХрдИ рдмрд╛рдЗрдВрдбрд┐рдВрдЧ рдХреЗ рд╕рд╛рде рдПрдХ рдХрддрд╛рд░ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдкрдХреЛ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП:
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.#'),
]),
)
рдорд╣рд╛рди! рдмрд╕ рдЗрд╕рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд┐рдпрд╛ рдФрд░ рджреЛрдиреЛрдВ рдмрд╛рдЗрдВрдбрд┐рдВрдЧ рдХреЛ рддрддреНрдХрд╛рд▓ рдХрд░ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдХреНрдпрд╛ рдпрд╣ рд░реВрдЯрд┐рдВрдЧ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реЛрдВ рдореЗрдВ рдЬреЛрдбрд╝рдиреЗ рд▓рд╛рдпрдХ рд╣реИ? рдореИрдВ рдЖрдЬ рд░рд╛рдд рдпрд╛ рдХрд▓ рдХрд┐рд╕реА рд╕рдордп рдкреБрд▓ рдЕрдиреБрд░реЛрдз рдмрдирд╛ рд╕рдХрддрд╛ рд╣реВрдБ
рдЬрд╝рд░реВрд░! рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реЛрдВ рдореЗрдВ рдЗрд╕реЗ рд░рдЦрдирд╛ рдПрдХ рдЕрдЪреНрдЫрд╛ рд╡рд┐рдЪрд╛рд░ рд╣реЛрдЧрд╛ :)
рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА
CELERY_QUEUES рдХреНрдпреВ_рдирд╛рдо рд╕реЗ рдХреНрдпреВ рддрдХ рдореИрдкрд┐рдВрдЧ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдЪреВрдВрдХрд┐ рдЖрдк рджреЛ рдХреНрдпреВ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░ рд░рд╣реЗ рд╣реИрдВ
рдПрдХ рд╣реА рдирд╛рдо рдХреЗ рд╕рд╛рде, рдЙрдирдореЗрдВ рд╕реЗ рдХреЗрд╡рд▓ рдПрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред
рдХреЛрдореНрдмреВ рдореЗрдВ рдХрдИ рдмрд╛рдЗрдВрдбрд┐рдВрдЧ рдХреЗ рд╕рд╛рде рдПрдХ рдХрддрд╛рд░ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдкрдХреЛ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП: