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)
你的代码确实有效。您可能认为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)