Mongrel_cluster et le restart

J’ai régulièrement des problèmes lors du ‘restart’ de mes mongrels
clusters avec le stop:

Stopping all mongrel_clusters…
!!! PID file /var/run/mongrel_cluster//.8000.pid does not
exist. Not running?
mongrel::stop reported an error. Use mongrel_rails mongrel::stop -h to
get help.

J’ai modifié le ‘restart’ de mon script init comme suit:

restart)
  mongrel_cluster_ctl stop -c $CONF_DIR 2>&1 > /dev/null
  sleep 15

  mongrel_cluster_ctl start -c $CONF_DIR
  sleep 15

  if (( `ps ax | grep mongrel_rails | wc -l` < 3  ))
    then
    echo "Relaunching the Mongrels"
    /etc/init.d/mongrel_cluster restart
  fi

Ce n’est pas la solution ooptimale, mais elle a le mérite de
fonctionner. Quelqu’un a-t-il une meilleure solution ?

Benoit C.

Plusieurs points:

  1. mongrel_rails a bien une commande restart, autant l’utiliser
  2. je crois que tu fais un mix entre -c qui permet de changer de
    répertoire
    courant pour tes singes, et -C qui permet d’indiquer le fichier de
    configuration à lire. Pour ma part, je préfère utilise -C pour pointer
    le
    fichier de conf (et pas son répertoire) pour y coller toutes les
    informations utiles comme le chdir ou autres.
  3. tu es sur quelle distro pour ne pas avoir un script pré-fait pour
    mongrel_rails?

2009/7/3 Benoit C. [email protected]

C’est justement en utilisant le script init “/etc/init.d/
mongrel_cluster” que j’ai le problème. En fait, j’ai remplacé le
‘restart’ par un ‘stop’ et un ‘start’ avec un ‘sleep’ entre.

Sinon je suis sous Ubuntu Hardy (LTS), mais je n’utilise pas les .deb
pour tout ce qui est ruby. Je n’aime pas comment c’est packager.

  1. mongrel_rails a bien une commande restart, autant l’utiliser
    mongrel_rails cluster::restart

Le 3 juillet 2009 15:22, Benoit C. [email protected] a
écrit :