Django crontab 没有运行,即使我设置了所有内容

Django crontab 没有运行,即使我设置了所有内容

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

def my_scheduled_job():
    print("1")

这是 settings.py 中的代码

CRONJOBS = [
    ('*/1 * * * *', 'stocks.cron.my_scheduled_job')
]

如果我跑

python3 manage.py crontab 运行#带哈希

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

这是我在 crontab 中的代码

    crontab -e
*/1 * * * * /usr/bin/python3 /home/stockstelegraph/manage.py crontab run 6b918d2422a9f4fce735a3383cee6485 # django-cronjobs

答案1

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

('*/1 * * * *', 'stocks.cron.my_scheduled_job', '>> /path/to/log/file.log')

相关内容