我的cron作业在localhost上正常工作,但是当我部署时,它们没有被添加。 以下settings.py:
CRONJOBS = [
('*/1 * * * *', 'push.cron.my_scheduled_job')
] 在开发过程中,cron完美地完成了这项工作:
但是当我使用..将它部署到服务器时,cron作业不会自动添加。如何将crob作业添加到服务器?
答案 0 :(得分:0)
找到答案:
source
/opt/python/run/venv/bin/activate
cd/opt/python/current/app/
python manage.py crontab add
python manage.py crontab run <hashcode>
答案 1 :(得分:0)
我刚刚设法解决了这个问题。
首先,我将脚本编写为“ Django自定义管理命令”。
然后我建立了一个SSH连接,该连接从目录“ / home / ec2-user”开始,并输入“ crontab -e”来编辑crontab。
在crontab文件中,只需添加以下行(用您自己的文件替换MY_CUSTOM_MANAGEMENT_COMMAND):
然后您就完成了。
您没有在问题中提及,但是我想指出一点,因为我已经在一些知名的博客中看到了:您不需要工作层,crontab可以正常工作在Web服务器层中。如果您需要大量的后台处理,请使用工作层。