Redis
 sql >> база данни >  >> NoSQL >> Redis

Как да създам resque worker автоматично при стартиране?

Не използвам скъпоценния камък, защото (1) видях проект, който беше много поразен от сложността на настройката, която въведе, и (2) аз лично съм много удобен със стандартните инструменти на Linux (Ubuntu), които се справят този вид нещо.

За да стартирате Resque работниците при стартиране

Имам този код в моя /etc/rc.local файл. Имам разгръщане потребител в системата:

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

След това в тези скриптове настроих средата на ruby ​​и стартирах задачата за рейк:

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

Използвам този вид настройка от години и е стабилна. Сървърите не се сриват. Все още нямам нужда от режийни разходи за инсталиране на друга система (като скъпоценния камък), за да наблюдавам тези други сървъри.

Освен това използвам скъпоценен камък capistrano, за да се справя с рестартирането на работниците при разгръщане.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Redis SYNC и EXEC

  2. Redis Cluster - готово за производство?

  3. как да убия неактивни клиенти на redis

  4. Как да използвам повторно Redis връзка в socket.io?

  5. Как да преместя база данни Redis от един сървър на друг?