Question

Je veux commencer Redis et Redis-programmateur d'une tâche Rake donc je fais ce qui suit:

namespace :raketask do
  task :start do
    system("QUEUE=* rake resque:work &")
    system("rake redis:start")
    system("rake resque:scheduler")
  end
end

Le problème est le redis commence au premier plan, puis cela ne lance l'ordonnanceur. S'il ne démarre pas en arrière-plan (en utilisant &). Planificateur doit être démarré APRÈS Redis est en marche.

Était-ce utile?

La solution

similaire à nirvdrum. Les travailleurs Resque vont échouer / quitter si Redis est en cours d'exécution et ne sont pas déjà d'accepter des connexions.

vérifier ce point essentiel pour un exemple de comment faire avancer les choses ont commencé avec Monit (substance linux).

Monit permet un service à être dépendante d'une autre, et fait en sorte qu'ils restent en vie en surveillant un fichier .pid.

Autres conseils

qui frappe moi comme pas une bonne idée. Vous devez avoir votre serveur Redis a commencé par un script d'initialisation ou quelque chose. Mais, si vous voulez vraiment aller dans cette voie, vous avez probablement besoin de modifier vos Redis. Commencer tâche à utiliser nohup et le contexte du processus de sorte que vous pouvez vous déconnecter du TTY et maintenir le processus en cours d'exécution

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