Comment faire fonctionner le céleri en tant que démon en production?
j'ai créé un celeryd fichier dans /etc/defaults/du code ici:
https://github.com/celery/celery/blob/3.0/extra/generic-init.d/celeryd
Maintenant quand je veux lancer celeryd comme un démon et de le faire: sudo /etc/init.d/celerdy il dit commande introuvable. Où vais-je tort?
source d'informationauteur Hick
Vous devez vous connecter pour publier un commentaire.
Je ne suis pas sûr de ce que vous faites ici, mais ce sont les étapes à suivre pour exécuter le céleri comme un démon.
https://github.com/celery/celery/blob/3.0/extra/generic-init.d/celeryd
doit être copié dans votre
/etc/init.d
dossier avec le nom deceleryd
/etc/default
avec le nomceleryd
qui est utilisé par le dessusscript. Ce fichier de configuration, fondamentalement, définit un certain nombre de variables
et les chemins qui sont utilisés par le script ci-dessus. Voici un exemple de configuration.
J'ai trouvé ce lien très utile: Comment écrire une Ubuntu Parvenu de travail pour le Céleri (django-céleri) dans un virtualenv
peaufinant un peu.. j'ai un céleri travailleur exécute à l'aide de ce script:
(ubuntu arriviste)
nommé iamcelery.conf
et placé dans /etc/init (note: pas d'initialisation.d)
maintenant, vous pouvez commencer ce scipt (il commence le démarrage du serveur en tant que bien):
ou stop:
ou de vérifier son état:
Je ne suis pas cesser de vous assurer que c'est la plus élégante façon.... mais... après un long procès, et des erreurs en essayant d'obtenir le initd scripts de travail.... ( sans succès) ... cela fonctionne enfin.
Modifier le 8 juin 2013
Mon script donné ici semblait s'exécute en tant que root à la fin.
Maintenant j'ai changé cela:
dans:
et cela fonctionne avec tous les crédits à la réponse à cette question:
Comment écrire une Ubuntu Parvenu de travail pour le Céleri (django-céleri) dans un virtualenv
Modifier 5 sept 2013
Il y a une dernière petite chose: je dois faire ctrl-c, après la commande de démarrage de la console (et faire une vérification de l'état après celui-ci): Dans le cas où quelqu'un le sait: les laisser dans la commande, et je peux mettre à jour cette réponse...
J'utilise généralement superviseur (plus django-directeur de thèse) à cette fin. De cette façon, vous n'avez pas besoin de comprendre comment daemonize chaque processus dans votre application (de qui vous avez au moins un serveur d'hébergement de django, plus le céleri, la plus réaliste de toutes les autres middleware vous utiliser à l'appui de ces deux). Superviseur sait comment exécuter lui-même comme un démon, et tous vos autres processus exécuter en tant qu'enfants de superviseur.
Que Marcin a expliqué dans sa réponse que le superviseur est généralement ce que les gens finissent par utiliser, mais si vous êtes à la recherche de quelque chose qui pourrait travailler avec python3 et ne peut pas attendre pour le superviseur de la version 4 qui, je pense, le soutien pour python3, alors vous pouvez aller avec cirque. Après l'installation, vous avez juste besoin d'avoir un cirque.fichier ini qui aura tous les processus que vous voulez daemonize puis exécutez échantillon de cirque.ini peut ressembler à:
si vous voulez un peu plus de détails, j'ai un post liées à la même ici. Espérons qu'il sauve quelqu'un certain temps. Grâce
Remarque: dans ubuntu 16.04 mon anser avec le .conf fichier ne fonctionne plus.
J'ai créé un .le fichier de service et mettre ceci dans /etc/systemd/system/
je peux utiliser
sudo service myservice statut
sudo service myservice commencer
sudo service myservice arrêter
que les commandes
par exemple, ce fichier:
myservice.service:
remarque j'utilise buildout, donc dans setad de bin/django la plupart des utilisateurs ont besoin d'utiliser le chemin d'accès à python et à l'utilisation mange.py dans la place.
base sur: http://minecraft.gamepedia.com/Tutorials/Ubuntu_startup_script (voir le avec systemd section)