Le céleri. Diminuer le nombre de processus
Est-il de toute façon autour de limiter le nombre de travailleurs dans céleri? J'ai un petit serveur et le céleri crée toujours des 10 processus sur 1 core. Je veux limiter ce nombre à 3 processus.
OriginalL'auteur Nikolay Fominyh | 2012-08-31
Vous devez vous connecter pour publier un commentaire.
J'ai essayé de réglage de la simultanéité à 1 et max_tasks_per_child à 1 dans mon settings.py fichier et a couru 3 tâches en même temps. Il vient de fraie 1 processus en tant qu'Utilisateur et les 2 autres comme le céleri. Il devrait devrait aller 1, puis attendez la fin avant d'exécuter l'autre.
Je suis en utilisant django céleri.
MODIFIER {
J'ai été affectation de la concurrence d'accès en écriture CELERYD_CONCURRENCY = 1 dans settings.py fichier. Mais quand j'ai regardé le céleri fichier journal à l'aide de "tail-f /var/log/céleri/w1.journal" puis je vis une valeur de 8 attribué à la concurrence. Ceci m'a dit que setting.py ne change pas la simultanéité.
Pour résoudre ce problème, j'ai ajouté les lignes suivantes à/etc/default/celeryd" fichier.
Maintenant la deuxième tâche dans la file d'attente attend jusqu'à ce que le premier est terminé.
}
J'ai seulement tenté de trois processus. Je ne sais pas la limite. La chose principale est que si la simultanéité est 1 pourquoi les tâches suivantes, même en cours d'exécution. Ils devraient être sur la cale.
Wow! L'édition
/etc/default/celeryd
m'a aidé! Merci beaucoup! =)OriginalL'auteur fatrock92
céleri travailleur --simultanéité option permet de spécifier le nombre d'enfants de processus de traitement de la file d'attente.
CELERYD_CONCURENCY = 1
ne fonctionne pas - encore génère 10 processus. Et --simultanéité=1 a le même effet.Êtes-vous à l'aide de autoscale?
Si elle est utilisée, par défaut, oui.
--autoscale=3,3 peut aider
Avez-vous essayé de tuer tous python processus avant de se lancer? Peut être qu'ils sont vieux ou non des processus.
OriginalL'auteur mher
J'ai cela dans mon celeryd fichier de config
qui résultats dans
Il y a QUATRE processus, non pas deux, mais il y a deux travailleurs. Il ressemble à chaque thread dispose de deux processus. Donc on peut supposer que si vous définissez CELERYD_NODES à 3, vous obtenez 3 6 travailleurs, mais des processus.
OriginalL'auteur Mark Chackerian
Vous devriez essayer --autoscale=3 dans le céleri option params.
OriginalL'auteur Do Anh Tu