我有一个配置如下的 celery 时间表:
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 调度程序本身。
关于python - 如何立即运行 celery 时间表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23098269/