如果celeryd没有运行,是否可以指定task.delay或task.apply_async失败?

时间:2011-05-18 23:27:35

标签: celery django-celery

我正在使用djcelery和djkombu。我会使用RabbitMQ(因为这是推荐的选项),但是RabbitMQ在我的VPS上使用了太多的内存而且我是一个小气鬼。

我认为如果我的代码尝试安排任务并且celeryd没有运行,那么在我的应用程序中抛出异常会很好。这是一种由主管,nagios等监控芹菜的备份计划。

起初我认为immediate设置会执行此操作,但它不适用于我的Django ORM配置。

1 个答案:

答案 0 :(得分:0)

问题主要在于使用此命令向代理发送简单消息,基本上代理只存储消息并等待消费它的人。 这种体系结构的一个很酷的事情是,如果一个芹菜工作者在它再次运行时下降了两个,那么就开始获取代理中所有旧的预定任务。 如果您不希望项目出现这种行为,那么芹菜就是错误的选择。