Django Celery如何配置队列并在rabbitmq管理仪表板中查看它们

时间:2017-05-02 13:55:17

标签: django rabbitmq celery django-celery

在我的配置文件中,我有以下几行:

CELERY_QUEUES = (
    Queue('fetch_tweets_requests'),
)

CELERY_ROUTES = {
    'applications.twitter.tasks.fetch_tweets': {'queue': 
    'fetch_tweets_requests' },
}

任务在触发时按预期运行,但是当我转到rabbitmq管理仪表板时,我没有看到任何名为fetch_tweets_requests的队列。如何配置django以便我可以看到我设置的队列?

1 个答案:

答案 0 :(得分:1)

我明白了。这是因为在芹菜应用程序中我还将其配置为命名空间芹菜配置,即

app.config_from_object('django.conf:settings', namespace='CELERY')

所以我需要做的就是确保命名空间符合设置。即

CELERY_CELERY_QUEUES = (
    Queue('fetch_tweets_requests'),
)

CELERY_CELERY_ROUTES = {
    'applications.twitter.tasks.fetch_tweets': {'queue': 
    'fetch_tweets_requests' },
}