Django crontab 没有运行,即使我设置了一切

Huz*_*oor 5 python cron django python3

我在 django 中使用 crontab,我的操作系统是 ubuntu

def my_scheduled_job():
    print("1")
Run Code Online (Sandbox Code Playgroud)

这是settings.py中的代码

CRONJOBS = [
    ('*/1 * * * *', 'stocks.cron.my_scheduled_job')
]
Run Code Online (Sandbox Code Playgroud)

如果我跑

python3 manage.py crontab run #with hash

它运行该函数并打印它,但当我运行服务器时它不会运行。我应该怎么办。

这是我在 crontab 中的代码

    crontab -e
*/1 * * * * /usr/bin/python3 /home/stockstelegraph/manage.py crontab run 6b918d2422a9f4fce735a3383cee6485 # django-cronjobs
Run Code Online (Sandbox Code Playgroud)

Ask*_*aev 2

你的代码确实有效。您可能认为print("1")应该出现在标准输出中?所以它不会那样工作,因为 cron 不使用stdourandstderr作为它的输出。要查看实际结果,您应该将路径指向CRONJOBS列表中的某个日志文件:只需将其作为'>> /path/to/log/file.log'最后一个参数,例如:

('*/1 * * * *', 'stocks.cron.my_scheduled_job', '>> /path/to/log/file.log')
Run Code Online (Sandbox Code Playgroud)