Celery Beat 如何计算 datetime.now() 和下一个计划的周期性任务 django 之间的差异
Celery Beat how to calculate difference between datetime.now() and the next scheduled Periodic Task django
我为每周的第 3 天设置了 celery beat cron 计划。
在 django shell 我可以访问这个时间表:
>>> schedule = PeriodicTask.objects.get(name="Bulk Newsletter Send")
which results in:
>>> <PeriodicTask: Bulk Newsletter Send: * * * * 3 (m/h/dM/MY/d) UTC>
我的问题是,如何计算 datetime.now() 和下一个 PeriodicTask 之间的天数差异?
这是我要 运行 使用的解决方案:
源自 Celery 文档 celery.schedules
periodic_task = PeriodicTask.objects.get(name="my_task")
time_to_go = periodic_task.schedule.is_due(datetime.now())
time_to_go.next = time to next run in seconds
我为每周的第 3 天设置了 celery beat cron 计划。 在 django shell 我可以访问这个时间表:
>>> schedule = PeriodicTask.objects.get(name="Bulk Newsletter Send")
which results in:
>>> <PeriodicTask: Bulk Newsletter Send: * * * * 3 (m/h/dM/MY/d) UTC>
我的问题是,如何计算 datetime.now() 和下一个 PeriodicTask 之间的天数差异?
这是我要 运行 使用的解决方案:
源自 Celery 文档 celery.schedules
periodic_task = PeriodicTask.objects.get(name="my_task")
time_to_go = periodic_task.schedule.is_due(datetime.now())
time_to_go.next = time to next run in seconds