2014-02-20 4 views
4

Я использовал Elastic Beanstalk, чтобы получить приложение Django, работающее на AWS. Я хочу запустить cronjob для обновления некоторых моих моделей. Я сделал команду пользовательского управления (https://docs.djangoproject.com/en/1.6/howto/custom-management-commands/) и запустить его локально, но если я SSH в моем случае и запустить кронтаб, я получаю ошибку:AWS + Django cronjob

No module named django.core.management

Какой самый лучший способ запустить cronjobs для проекта Django на AWS?

+0

ли вы настроить virtualenv на сервере ? Если это так, вы не запустили команду manage.py с правильным питоном из virtualenv? – schillingt

+0

Я не настроил virtualenv. Нужно ли мне? Кроме того, как мне сделать команду manage.py запущенной с этим virtualenv? – ukejoe

+0

Да, вам нужно. В основном, что вы делаете, это '' '/ path/to/virtualenv/bin/python /path/to/manage.py command'''. Причина, по которой вы в настоящее время не можете запускать команды, заключается в том, что вы еще не установили Django на свой сервер. – schillingt

ответ

0

Получил эту работу (это без документов, так что может быть изменено в любое время)

*/10 * * * * source /opt/python/current/env && django-admin.py do_your_thang 

/opt/python/current/env, кажется, содержит не только ваш «виртуальная среда» вещи, но фактические переменные, необходимые для подключения к база данных и т. д.

У меня до сих пор нет ответов на EB + cron + django из команды EB.

+0

не работает для меня –

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