如何立即运行芹菜计划?

时间:2014-04-16 03:06:18

标签: python django celery celerybeat

我有一个芹菜时间表,配置如下:

CELERYBEAT_SCHEDULE = {
    "runs-every-30-seconds": {
        "task": "tasks.refresh",
        "schedule": timedelta(hours=1)
    },
}

经过测试后,我发现此计划在1小时后开始,但我希望在1小时后立即再次运行此计划。

1 个答案:

答案 0 :(得分:0)

如果您的意思是在启动时,请在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

如果您只是为测试做这个,我宁愿直接调用/延迟任务,而不是测试芹菜调度程序本身。