bluepill ne détecte pas que les processus ont en fait démarré avec succès, et en crée donc de nouveaux

StackOverflow https://stackoverflow.com/questions/9371594

Question

J'ai un serveur (EC2) Ubuntu sur lequel bluepill fonctionne très bien pour démarrer et surveiller les processus resque (et il l'a fait sur d'autres nœuds dans le passé).

Je mets en place un nouveau nœud, et pour une raison quelconque sur ce nœud, bluepill ne reconnaît pas que les processus ont démarré et sont en cours d'exécution, et continue donc à en créer de nouveaux. Je suis un peu déconcerté par ce qui cause cela. Les 2 nœuds sont presque identiques; ce sont tous les deux des serveurs EC2 fournis par les mêmes scripts chef. Il est vrai que celui qui ne fonctionne pas est «production» et l'autre «mise en scène», mais il n'y a presque aucune différence à cause de cela.

Avez-vous des idées ou des suggestions avant de lancer le projet github et de commencer à insérer plus de surveillance, pour essayer de comprendre ce qui se passe? Il y a eu des discussions sur cette liste dans le passé à propos des problèmes avec bluepill et resque, mais comme je l'ai dit, cela fonctionne bien sur mon serveur de préparation et a bien fonctionné sur les serveurs de production précédents (bien que je notera que ce nouveau serveur de production est ruby 1.9.3 (vs 1.9.2) et rails 3.2 (vs 3.1)).

Voici mon fichier .pill (ou plus précisément, le fichier modèle de mon livre de recettes chef):

ENV["RAILS_ENV"] = "<%= node.chef_environment %>"
ENV["QUEUE"] = "*"

Bluepill.application("zmx_app") do |app|
  app.working_dir = "/srv/zmx/current"
  app.uid = "root"
  app.gid = "root"
  2.times do |i|
    app.process("resque-#{i}") do |process|
      process.group = "resque"
      process.start_command = "rake resque:work"
      process.pid_file = "/srv/zmx/current/tmp/pids/resque_workers-#{i}.pid"
      process.stop_command = "kill -QUIT {{PID}}"
      process.daemonize = true
    end
  end
end
Était-ce utile?

La solution

Cela s'est avéré être un bogue dans bluepill, que j'ai bifurqué, corrigé et soumis unpull request .

Et je ne sais pas pourquoi je ne me suis pas rendu compte qu'il y avait, en fait, une différence entre mes deux environnements: la mise en scène / l'ancien prod était sur bluepill 0.0.55, mon nouvel environnement de production sur 0.0.58.

/ p>

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top