我的cron作业在本地主机上可以很好地工作,但是当我部署它们时,它们不会被添加。以下settings.py:
CRONJOBS = [
('*/1 * * * *', 'push.cron.my_scheduled_job')
]在开发中,cron通过这样做完美地工作:
但是当我用.把它部署到服务器上时。cron作业不会自动添加。如何将crob作业添加到服务器?
发布于 2017-08-26 17:11:23
在本地主机上运行的cron作业与服务器无关。您将需要以与本地相同的方式单独运行它们。
## I am assuming that you already activated your virtual env
python manage.py crontab add #returns a hash
python manage.py crontab run "hash" # put the has here without quotes
您可以通过编写和运行某种bash脚本来实现自动化。
如果您想要一些自动化,我建议您使用芹菜而不是crontab。
发布于 2019-02-08 00:35:56
我只是设法让这件事起作用了。
首先,我把脚本写成了"Django自定义管理命令“。
然后我建立了一个SSH连接,它从目录"/home/ec2-user“开始,然后输入"crontab -e”来编辑crontab。
在crontab文件中,只需添加以下行(用自己的文件替换MY_CUSTOM_MANAGEMENT_COMMAND ):
那你就完了。
您的问题中没有提到,但是我想指出的是,我在一些著名的博客中看到过:您不需要一个工作层,crontab在web服务器层运行得很好。如果您有一些繁重的后台处理,请使用工作层。
https://stackoverflow.com/questions/45893817
复制相似问题