当django服务器正在运行且芹菜未运行时 生成周期性任务。
当我恢复芹菜时,我看到过去的任务已经完成 如果过期,我可以将特定任务标记为不运行吗?
答案 0 :(得分:0)
Task.apply_async
的expires
选项似乎适合您。
例如,您的任务可能如下所示:
@periodic_task(run_every=timedelta(seconds=15), expires=15)
def update_something():
# do something
这是一个简单的解决方案。
可以采用更多可定制的解决方案。您可以将任务的结果保存到缓存(例如,在Redis中),并且当此任务的结果在缓存中时,所有新任务都只返回缓存的值。此解决方案非常灵活,因为您可以将所有信息存储在缓存中以决定下一步要做什么(例如从缓存中获取值或重新运行任务)。