sql >> Databasteknik >  >> NoSQL >> Redis

Hur skapar jag en resque worker automatiskt vid uppstart?

Jag använder inte guden pärla eftersom (1) jag har sett ett projekt som var väldigt förkrossat av komplexiteten i installationen det introducerade, och (2) jag är personligen väldigt bekväm med de vanliga Linux-verktygen (Ubuntu) som hanterar sånt här.

För att starta Resque-arbetarna vid uppstart

Jag har den här koden i min /etc/rc.local fil. Jag har en deploy användare på systemet:

# Start Resque
su -l deploy -c "/home/deploy/start-resque-workers"
su -l deploy -c "/home/deploy/start-resque-webui"

Sedan, i dessa skript, ställer jag in ruby-miljön och kör rake-uppgiften:

# Load RVM into a shell session *as a function*
if [[ -s "$HOME/.rvm/scripts/rvm" ]] ; then
  # First try to load from a user install
  source "$HOME/.rvm/scripts/rvm"
elif [[ -s "/usr/local/rvm/scripts/rvm" ]] ; then
  # Then try to load from a root install
  source "/usr/local/rvm/scripts/rvm"
else
  printf "ERROR: An RVM installation was not found.\n"
fi

# Use rvm to switch to the default ruby. 
rvm use default

# Now launch the app
cd /home/deploy/app-name-here/current
nohup rake QUEUE=* RAILS_ENV=production environment resque:work &

Jag har använt den här typen av uppsättning i flera år, och den är stabil. Servrarna kraschar inte. Jag behöver ännu inte överkostnaden för att installera ett annat system (som gudstenen) för att vaka över dessa andra servrar.

Dessutom använder jag en capistrano-pärla för att hantera omstart av arbetarna vid utplacering.



  1. kunde inte ansluta till server 127.0.0.1 shell/mongo.js

  2. anpassad redis-klient kompilering misslyckas

  3. Node.js &Redis; Väntar på att en loop ska sluta

  4. använder kartan för att cache för cirka 5000 poster i Javascript-applikation VS Redis