当Django服务器运行并且芹菜不运行时,生成周期性任务。
当我恢复芹菜时,我看到过去的任务是运行的。
我可以标记特定的任务,如果过去的时间不运行?
看起来expires
的Task.apply_async
选项将为您工作。
例如,您的任务可能看起来像这样:
@periodic_task(run_every=timedelta(seconds=15), expires=15)
def update_something():
# do something
这是简单的解决方案。
可能会有更多可自定义的解决方案。您可以将任务的结果保存到缓存(例如,在Redis中),尽管此任务的结果是在缓存中,所有新任务仅返回缓存值。该解决方案非常灵活,因为您可以将所有信息存储在缓存中以决定下一步要做什么(例如,从缓存或重新运行任务中获得值)。