芹菜击败消息永远不会到达RabbitMQ



我在用芹菜节拍打执行某些任务时遇到了很多问题。Beat触发了一些像以下一项的任务,但兔子从未收到该消息。

在我的django设置文件中,我有以下perdiodic任务

CELERYBEAT_SCHEDULE = {
    ...
    'update_locations': {
        'task': 'cron.tasks.update_locations',
        'schedule': crontab(hour='10', minute='0')
    },
    ...
}

在10 UTC击败时,按预期执行任务

[2015-05-13 10:00:00,046: DEBUG/MainProcess] cron.tasks.update_locations sent. id->a1c53d0e-96ca-4673-9d03-972888581176

但是,此消息永远不会到达RabbitMQ(我正在使用RabbitMQ中的跟踪模块来跟踪传入消息)。我还有其他几个任务似乎运行良好,但是某些任务如上所述从未运行。使用cron.tasks.update_locations.delay()在Django中手动运行任务无问题。请注意,我的RabbitMQ与Beat不同。

我有什么可以做的,以确保兔子实际上发送和/或收到消息?是否有更好或其他方法可以安排这些任务以确保它们运行?

从这些最小描述中有点难以回答。

为什么在django设置文件中?我本来希望芹菜配置设置具有自己的配置对象。查看http://celery.readthedocs.org/en/latest/reference/celery.html#celery.celery.celery.config_from_object

最新更新