由于项目需求,需要在指定时间之后执行异步任务给用户推送消息,由于之前只用过celery的定时任务,在查阅一番资料之后,发现有官方文档中是有相关说明的。
T.delay(arg, kwargs=value)
是常见的用来执行celery异步任务的命令。
而还有另一个命令是不常用的
T.apply_async((arg,), {'kwarg': value}, countdown=60, expires=120)
时可以用来执行延时任务的,其中countdown指定多少秒后执行,expires指定最长等待之间,即过期时间。
由于celery延时任务在超过执行时间后仍未执行,可能会发生重复执行的情况,所以最好指定expires避免此种情况的发生
来源:CSDN
作者:Galois1764
链接:https://blog.csdn.net/Galois1764/article/details/103241038