我有一个配置如下的芹菜时间表:
CELERYBEAT_SCHEDULE = {
"runs-every-30-seconds": {
"task": "tasks.refresh",
"schedule": timedelta(hours=1)
},
}
经过测试,我发现这个时间表是在 1 小时后开始的,但我想在 1 小时后立即运行这个时间表。
我有一个配置如下的芹菜时间表:
CELERYBEAT_SCHEDULE = {
"runs-every-30-seconds": {
"task": "tasks.refresh",
"schedule": timedelta(hours=1)
},
}
经过测试,我发现这个时间表是在 1 小时后开始的,但我想在 1 小时后立即运行这个时间表。
如果您的意思是在启动时,请在AppConfig.ready()中执行(django 1.7 中的新功能):
# my_app/__init__.py:
class MyAppConfig(AppConfig):
def ready(self):
tasks.refresh.delay()
另请参阅:https ://docs.djangoproject.com/en/1.7/ref/applications/#module-django.apps
如果您只是为了测试而这样做,我宁愿直接调用/延迟任务而不是测试 celery 调度程序本身。