Мне очень нравится использовать выскочку. В настоящее время у меня есть выскочки для запуска разных экземпляров пушки в нескольких виртуальных средах. Однако 2 -3 примера сценариев выскочки Celery, которые я нашел в Интернете, у меня не работают.
Итак, со следующими переменными, как мне написать задание Upstart для запуска django -celery в виртуальной среде.
Путь к проекту Django:
/srv/projects/django_project
Путь к virtualenv этого проекта:
/srv/environments/django_project
Путь к настройкам celery — это файл настроек проекта Django (django -celery):
/srv/projects/django_project/settings.py
Путь к файлу журнала для этого экземпляра Celery:
/srv/logs/celery.log
] Для этой виртуальной средыпользователь:
iamtheuser
и группа :
www-data
. Я хочу запустить демона сельдерея с celerybeat, поэтому команда, которую я хочу передать django -admin.py (или manage.py ),:
python manage.py celeryd -B
Будет еще лучше, если скрипт запустится после старта джоба ганикорн и остановится, когда джоб ганикорн остановится. Допустим, файл для этого:
/etc/init/gunicorn.conf