Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 使用django cron的Beanstalk Cronjobs_Python_Django_Amazon Web Services_Cron_Amazon Elastic Beanstalk - Fatal编程技术网

Python 使用django cron的Beanstalk Cronjobs

Python 使用django cron的Beanstalk Cronjobs,python,django,amazon-web-services,cron,amazon-elastic-beanstalk,Python,Django,Amazon Web Services,Cron,Amazon Elastic Beanstalk,我正在尝试使用django cron在elasticbeanstalk ec2实例上运行cronjobs 我创建了一个cronjob.cron: */5 * * * * root /opt/python/run/venv/bin/python3 /opt/python/current/app/manage.py runcrons >> /var/log/cronjobs.log 并使用以下命令添加文件: container_commands: 06_runcrons:

我正在尝试使用django cron在elasticbeanstalk ec2实例上运行cronjobs

我创建了一个cronjob.cron:

*/5 * * * * root /opt/python/run/venv/bin/python3 /opt/python/current/app/manage.py runcrons >> /var/log/cronjobs.log
并使用以下命令添加文件:

container_commands:
  06_runcrons:
    command: "cat .ebextensions/cronjobs.cron > /etc/cron.d/djangocrons && chmod 644 /etc/cron.d/djangocrons"
    leader_only: true
cron似乎正在运行,但没有任何内容被打印到my/var/log/cronjobs.log中(它应该每隔5分钟打印一次)

我无法在ec2实例上手动测试脚本,因为我使用
aws:elasticbeanstalk:application:environment:
添加的环境变量既不存在于ec2用户中,也不存在于root用户中。这些环境变量写入到哪里?它们是否仅在部署期间出现? 服务器本身工作正常,因此我的db环境变量工作正常

我是否需要使用其他用户来执行我的cronjobs?我怎样才能解决这个问题

编辑: 删除用户权限,如:

*/5 * * * * /opt/python/run/venv/bin/python3 /opt/python/current/app/manage.py runcrons >> /var/log/cronjobs.log
导致

(CRON) bad username (/etc/cron.d/djangocrons)

在my/var/log/cron中,通过在/opt/python/current/env中添加源于env变量的文件,解决了这个问题

*/5 * * * * root source /opt/python/current/env && /opt/python/run/venv/bin/python3 /opt/python/current/app/manage.py runcrons >> /var/log/cronjobs.log

您是否尝试过不使用root(aka
*/5****/opt/python/run/venv/bin/python3/opt/python/current/app/manage.py runcrons>>/var/log/cronjobs.log
)?用答案更新了我的问题