Я пытался выяснить, как лучше всего вызвать скрипт с помощью cronjobs, и не могу понять это. Либо я go с пользовательской командой, где я использую следующее в .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: попытка относительного импорта без известного родительского пакета
Я совершенно растерян и буду признателен за любую помощь.