从内部取消芹菜任务?

时间:2015-10-26 12:59:44

标签: python error-handling celery

我知道我可以return,但我想知道是否还有别的东西,特别是对于辅助方法,其中return None强制调用者添加样板检查的任务在每次调用时。

我发现InvalidTaskError,但没有真正的文档 - 这是内部的事情吗?提出这个是否合适?

我一直在寻找类似于self.abort()的{​​{1}},但没有看到任何内容。

以下是我使用它的示例。

self.retry()

1 个答案:

答案 0 :(得分:2)

在进行了更多挖掘之后,我找到了一个使用Reject;

的示例

(从文档页面复制)

  

任务可能会使用AMQP basic_reject方法引发拒绝拒绝任务消息。除非启用了Task.acks_late,否则这不会产生任何影响。

     

拒绝消息与执行消息具有相同的效果,但某些代理可能会实现可以使用的其他功能。例如,RabbitMQ支持死信交换的概念,其中队列可以配置为使用死信交换,拒绝重新传递消息。

     

拒绝也可用于重新排队消息,但在使用时请务必小心,因为它很容易导致无限的消息循环。

     

当任务导致内存不足时使用拒绝的示例:

qwinrt.dll