超时异常是否使用acks_late执行任务?

时间:2015-12-01 20:10:21

标签: timeout celery

如果我有一个acks_late=True的芹菜任务,并且该任务会引发硬超时或软超时异常,那么该任务是否已从队列中删除并被删除,或者是否已重试? acks_late的文档无论如何都没有提及。

1 个答案:

答案 0 :(得分:2)

根据Should I use retry or acks_late

  

Task.retry用于重试任务,特别是对于可以使用try:block捕获的预期错误。 AMQP事务不用于这些错误:如果任务引发异常,它仍然被确认!

由于SoftTimeLimitExceeded是一个例外,因此它确实会确认消息并将其从队列中删除。