芹菜 - 测试 - 工作去哪个队列

时间:2014-03-21 21:53:55

标签: celery django-celery djcelery

简单的问题。当我定义了多个队列时,如何确定作业转到哪个队列。虽然我知道我说要进入优先级队列 - 我怎样才能查看是否确实存在这种情况?

1 个答案:

答案 0 :(得分:0)

有几种方法可以最终找到答案。虽然它正在处理这种方法的最佳方式 是在芹菜中使用这些工具。对于给定的task_id,请执行此操作。

from celery.app import app_or_default

app = app_or_default()
inspect = app.control.inspect()
pprint.pprint(inspect.query_task([task_id]))

{u'celery@adeline.xxx.com':
    {u'ebe2d165-92f6-4c81-bbf5-b2644e0dbcaf':
        [u'reserved',
            {u'acknowledged': False,
             u'args': u'[]',
             u'delivery_info': {u'exchange': u'celery',
                                u'priority': None,
                                u'redelivered': False,
                                u'routing_key': u'celery'},
             u'hostname': u'celery@adeline.xxx.com',    
             u'id': u'ebe2d165-92f6-4c81-bbf5-b2644e0dbcaf',
             u'kwargs': u"{'status_ids': [5072L, 7643L]}",
             u'name': u'apps.home.tasks.update_home_stats',
             u'time_start': None,
             u'worker_pid': None}]}}    

delivery_info会告诉您exchange哪个是队列名称。