当在django中使用celerybeat时,我想安排一个任务在特定的时间开始,然后每5分钟运行一次。我可以使用crontab(minute ='*/5')让任务每5分钟运行一次,这将在celerybeat启动后运行,但我想在8:30运行它,如何做到这一点?
qacovj5a1#
首先,您将任务设置为每5分钟运行一次,并且您已经完成了此操作。第二步是将任务的主体封装到一个条件中,该条件检查任务当前是否应该运行。
from django.utils import timezone import datetime @app.task def my_task(): now = timezone.now().time() start_time = datetime.time(8, 30, 0) end_time = datetime.time(17, 30, 0) if now >= start_time and now < end_time: # your task ...
1条答案
按热度按时间qacovj5a1#
首先,您将任务设置为每5分钟运行一次,并且您已经完成了此操作。
第二步是将任务的主体封装到一个条件中,该条件检查任务当前是否应该运行。