Python Django crontab在elastic beanstalk中不工作
我的cron作业在localhost上运行良好,但在部署时没有添加它们。 下面的设置为.py:Python Django crontab在elastic beanstalk中不工作,python,django,cron,amazon-elastic-beanstalk,Python,Django,Cron,Amazon Elastic Beanstalk,我的cron作业在localhost上运行良好,但在部署时没有添加它们。 下面的设置为.py: CRONJOBS = [ ('*/1 * * * *', 'push.cron.my_scheduled_job') ] 在开发过程中,cron通过以下方式完美工作: python manage.py crontab添加 python manage.py crontab运行2e847f370afca8feeddaa55d5094d128 但当我使用..将其部署到服务器时。。cron作业不会自动添加。
CRONJOBS = [
('*/1 * * * *', 'push.cron.my_scheduled_job')
]
在开发过程中,cron通过以下方式完美工作:
但当我使用..将其部署到服务器时。。cron作业不会自动添加。如何将crob作业添加到服务器 在本地主机上运行的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而不是crontab。我刚刚设法让它工作起来 首先,我将脚本编写为“Django自定义管理命令” 然后我建立了一个SSH连接,它从目录“/home/ec2 user”开始,并输入“crontab-e”来编辑crontab 在crontab文件中,只需添加以下行(用您自己的文件替换MY_CUSTOM_MANAGEMENT_命令):
- source/opt/python/run/venv/bin/activate&&python manage.py MY_CUSTOM_MANAGEMENT_命令
您在问题中没有提到,但有一点我想指出,因为我在一些著名的博客中看到过:您不需要工作层,crontab在web服务器层工作得很好。如果您有一些繁重的后台处理,请使用worker层。这看起来不像