1、time_limit和soft_time_limit区别
time_limit : 执行超时,结束signal 9 (SIGKILL) 执行的子进程,状态:“status”: “FAILURE”
soft_time_limit :执行超时,用一个异常SoftTimeLimitExceeded来捕捉,状态:“status”: “SUCCESS”
目前只能在linux操作系统才有效 重点
task_soft_time_limit
默认值:无软时间限制。
以秒为单位的任务软时间限制。
超过此值时将SoftTimeLimitExceeded引发异常。例如,任务可以在硬时间限制到来之前捕获它以进行清理:
from celery.exceptions import SoftTimeLimitExceeded
@app.task
def mytask():
try:
return do_work()
except SoftTimeLimitExceeded:
cleanup_in_a_hurry()