【发布时间】:2020-06-15 18:43:09
【问题描述】:
我一直在试图弄清楚如何最好地使用 cronjobs 调用脚本,但无法弄清楚。要么我使用自定义命令,我在 .ebextension/"some config file" 中使用以下内容:
container_commands:
01_some_cron_job:
command: "cat .ebextensions/some_cron_job.txt > /etc/cron.d/mycron && chmod 644 /etc/cron.d/mycron"
leader_only: true
some_cron_job.txt:
* * * * * root source /opt/python/run/venv/bin/activate && source /opt/python/current/env && /usr/bin/python /opt/python/current/app/manage.py cron_command >> /var/log/myjob.log 2>&1
这在我在本地运行命令时有效,但在将其上传到 eb 后出现以下错误:
文件“/opt/python/current/app/manage.py”,第 18 行 ) 来自 exc ^ SyntaxError: 无效语法
或者我可以直接调用脚本:
* * * * * root source /opt/python/run/venv/bin/activate && source /opt/python/current/env && /usr/bin/python /opt/python/current/app/api/cron.py >> /var/log/myjob.log 2>&1
但是在尝试从同一目录中的另一个文件导入函数时出现导入错误:
ImportError: 尝试在没有已知父包的情况下进行相对导入
我很迷茫,希望能得到任何帮助。
【问题讨论】:
标签: python django amazon-web-services cron amazon-elastic-beanstalk