3

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

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

经过测试,我发现这个时间表是在 1 小时后开始的,但我想在 1 小时后立即运行这个时间表。

4

1 回答 1

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

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

于 2015-03-19T16:26:29.060 回答