4

我正在尝试运行在一个简单的python脚本中定义的定期任务:

@periodic_task(run_every=crontab(hour=7, minute=43))
def every_day_morning():
    print("Good Morning!")

这是我正在使用的命令行:

python -m celery -A tasks beat

当我使用crontab(minute='*')它时,它工作得很好但是,当我尝试它时:

@periodic_task(run_every=crontab(hour=7, minute=43))

它不起作用(任务不运行)。

我正在使用python 2.7, 和celery 3.1.16在 Windows 8.1 中。

4

2 回答 2

4

检查您的时区!utc0 是 celery 默认时区!</p>

您需要将其更改为您的系统时区,如下所示:

pp = Celery(...)
app.conf.update(...
        CELERY_TIMEZONE = 'Asia/Shanghai'   # set timezone in here
        )
于 2014-12-10T06:25:05.487 回答
0

通过在终端中运行命令检查您的时区

时间日期ctl | grep“时区”

更新你的 celery 应用配置

app = Celery()
app.conf.update(timezone='Asia/Kolkata')  # set your time zone here

希望这可以帮助

于 2019-08-30T05:23:15.303 回答