So schreiben Sie einen Ubuntu Upstart-Job für Sellerie (Django-Sellerie) in einer virtuellen Umgebung

Ich mag es wirklich, Emporkömmlinge zu benutzen. Ich habe derzeit Upstart-Jobs, um verschiedene Gunicorn-Instanzen in einer Reihe von Virtualenvs auszuführen. Die 2-3 Beispiele, die ich für Sellerie-Upstart-Skripte in den Interwebs gefunden habe, funktionieren bei mir jedoch nicht.

Wie würde ich mit den folgenden Variablen einen Upstart-Job schreiben, um Django-Sellerie in einer virtuellen Umgebung auszuführen?

Pfad zum Django-Projekt:

/srv/projects/django_project

Pfad zur virtuellen Umgebung dieses Projekts:

/srv/environments/django_project

Der Pfad zu den Sellerie-Einstellungen ist die Django-Projekt-Einstellungsdatei (Django-Sellerie):

/srv/projects/django_project/settings.py

Pfad zur Protokolldatei für diese Sellerie-Instanz:

/srv/logs/celery.log

Für diese virtuelle Umgebung führt der Benutzer Folgendes aus:

iamtheuser

und die Gruppe:

www-data

Ich möchte den Celery Daemon mit Sellerie-Takt ausführen. Der Befehl, den ich an die Datei django-admin.py (oder manage.py) übergeben möchte, lautet also:

python manage.py celeryd -B

Es ist sogar noch besser, wenn das Skript nach dem Start des Gunicorn-Jobs startet und stoppt, wenn der Gunicorn-Job stoppt. Nehmen wir an, die Datei dafür ist:

/etc/init/gunicorn.conf

Antworten auf die Frage(2)

Ihre Antwort auf die Frage