django-celery-beat 和 DatabaseScheduler 设置了第一个 运行 时间
django-celery-beat and DatabaseScheduler with a set first run time
我想使用 django-celery-beat 和 DatabaseScheduler 为用户创建一个 "email alert" 函数。他们应该能够说出他们希望何时收到这些提醒(例如每天早上 7 点或每周一下午 1 点)。
我几乎想出了如何创建周期性任务,即
>>> PeriodicTask.objects.create(
... interval=schedule, # we created this above.
... name='Importing contacts', # simply describes this periodic task.
... task='proj.tasks.import_contacts', # name of task.
... expires=datetime.utcnow() + timedelta(seconds=30)
... )
来自 https://github.com/celery/django-celery-beat,但我如何告诉它第一次发送的时间?
PeriodicTask
模型中有一个字段 start_time
。您可以为其设置日期时间值。任务会在那个时间之后先发送。
>>> PeriodicTask.objects.create(
# skipped
start_time=datetime.utcnow() + timedelta(seconds=300)
# task will be first sent after 5 minutes
)
我想使用 django-celery-beat 和 DatabaseScheduler 为用户创建一个 "email alert" 函数。他们应该能够说出他们希望何时收到这些提醒(例如每天早上 7 点或每周一下午 1 点)。
我几乎想出了如何创建周期性任务,即
>>> PeriodicTask.objects.create(
... interval=schedule, # we created this above.
... name='Importing contacts', # simply describes this periodic task.
... task='proj.tasks.import_contacts', # name of task.
... expires=datetime.utcnow() + timedelta(seconds=30)
... )
来自 https://github.com/celery/django-celery-beat,但我如何告诉它第一次发送的时间?
PeriodicTask
模型中有一个字段 start_time
。您可以为其设置日期时间值。任务会在那个时间之后先发送。
>>> PeriodicTask.objects.create(
# skipped
start_time=datetime.utcnow() + timedelta(seconds=300)
# task will be first sent after 5 minutes
)