sql >> Database teknologi >  >> NoSQL >> Redis

Hvordan opretter jeg en resque worker automatisk ved opstart?

Jeg bruger ikke gud-perlen, fordi (1) jeg har set et projekt, der var meget tæsket af kompleksiteten af ​​opsætningen, det introducerede, og (2) jeg er personligt virkelig fortrolig med de standard Linux (Ubuntu) værktøjer, der håndterer denne slags ting.

For at starte Resque-arbejderne ved opstart

Jeg har denne kode i min /etc/rc.local fil. Jeg har en implementering bruger på systemet:

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

Derefter, i disse scripts, opsætter jeg ruby-miljøet og kører rake-opgaven:

# 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 &

Jeg har brugt denne slags opsætning i årevis, og den er solid. Serverne går ikke ned. Jeg har endnu ikke brug for overhead til at installere et andet system (såsom gudestenen) for at holde øje med disse andre servere.

Derudover bruger jeg en capistrano-perle til at håndtere genstart af arbejderne under udsendelse.



  1. MongoDB:output 'id' i stedet for '_id'

  2. hvordan kan man gemme en Json i redis med hashmap(HSET)

  3. Kryptering af MongoDB Data-at-Rest

  4. Mongodb find oprettede resultater efter dato i dag