【发布时间】:2017-11-11 08:06:51
【问题描述】:
我正在使用 Django 编写灌溉系统,并使用 Celery 处理异步任务。
在我的应用程序中,用户选择他想要激活灌溉的日期和时间,这将存储在数据库中,他可以随时更新它们。
我知道我可以安排这样的任务,但我想更新时间。
from celery.task.schedules import crontab
from celery.decorators import periodic_task
@periodic_task(run_every=crontab(hour=7, minute=30, day_of_week="mon"))
def every_monday_morning():
print("This runs every Monday morning at 7:30a.m.")
另一种方法是使用python-crontab
【问题讨论】:
-
您可以创建具有特定日期(以秒为单位)的 celery 作业。您唯一需要的是使用倒计时参数调用 apply_async。 docs.celeryproject.org/en/latest/userguide/…
-
可以推荐 Python APScheduler 效果很好