运行 特定时间段的 celery 任务
Run celery task for specific time period
我正在使用 django 开发 Web 应用程序,我正在后台使用 celery 运行 任务。一切正常,但我有一个问题,我想在特定时间段内执行 运行 芹菜任务
比如下午 2 点到 3 点。
我想您正在使用 Celery beat 来执行 运行 周期性任务。使用 Crontab schedule 应该可以满足您的要求。具体遵循此处给出的示例:
crontab(minute=0, hour='*/3,8-17')
Execute every hour divisible by 3, and every hour during office hours (8am-5pm).
编辑: 如果您只想 运行 任务一次但想指定开始时间,请指定 ETA调用任务。文档中的示例:
>>> from datetime import datetime, timedelta
>>> tomorrow = datetime.utcnow() + timedelta(days=1)
>>> add.apply_async((2, 2), eta=tomorrow)
我正在使用 django 开发 Web 应用程序,我正在后台使用 celery 运行 任务。一切正常,但我有一个问题,我想在特定时间段内执行 运行 芹菜任务 比如下午 2 点到 3 点。
我想您正在使用 Celery beat 来执行 运行 周期性任务。使用 Crontab schedule 应该可以满足您的要求。具体遵循此处给出的示例:
crontab(minute=0, hour='*/3,8-17')
Execute every hour divisible by 3, and every hour during office hours (8am-5pm).
编辑: 如果您只想 运行 任务一次但想指定开始时间,请指定 ETA调用任务。文档中的示例:
>>> from datetime import datetime, timedelta
>>> tomorrow = datetime.utcnow() + timedelta(days=1)
>>> add.apply_async((2, 2), eta=tomorrow)