céleri avec plusieurs instances de django

J’utilise plusieurs instances de django, chacune dans une virtualenv, sur le même serveur. Comment puis-je démarrer le serveur Celery et m’assurer qu’il est toujours en cours d’exécution et mis à jour? Ie après un redémarrage du serveur ou une mise à jour du code?

Le script /etc/init.d et le fichier de configuration supposent une seule installation de Django. Dois-je utiliser la commande ./manage.py celeryd?

Cordialement Simon

Vous devriez regarder le céleri django. Cela vous permet d’utiliser la commande manage.py celeryd pour chaque projet dans virtualenv. Vous pouvez démoniser ces processus avec supervisord et les gérer individuellement.

Consultez http://ask.github.com/celery/cookbook/daemonizing.html#supervisord pour obtenir des conseils.

Si vous apportez des modifications à tasks.py pour le céleri, vous devrez le redémarrer une fois pour appliquer les modifications en exécutant la commande ./manage.py celeryd start ou python manage.py celeryd start --settings=settings pour utiliser settings.py comme configuration pour le céleri. Il ne sera pas affecté par les modifications apscopes à vos projets tant que vous n’aurez pas modifié la configuration du céleri.