我使用Elastic Beanstalk让我的Django应用程序在AWS上运行。我想运行一个cronjob来更新我的一些模型。我做了一个自定义管理命令(https://docs.djangoproject.com/en/1.6/howto/custom-management-commands/)并可以在本地运行它,但是如果我ssh到我的实例并运行crontab,我会收到错误:
没有名为django.core.management的模块
在AWS上为Django项目运行cronjobs的最佳方法是什么?
答案 0 :(得分:0)
让这个工作(这是未记录的,所以它随时可能发生变化)
*/10 * * * * source /opt/python/current/env && django-admin.py do_your_thang
/opt/python/current/env
似乎不仅包含您的“虚拟环境”内容,还包含连接数据库等所需的实际变量。
我仍然没有对EB团队的EB + cron + django做出任何回应。
答案 1 :(得分:0)
这适用于 Django 1.10.6 + AWS ElasticBeanstalk + Cronjob
* * * * * source /opt/python/run/venv/bin/activate && cd /opt/python/current/app/ && python manage.py do_your_thing > $HOME/cron-sqs.log 2>&1
do_your_thing 是management command