Redis
 sql >> Teknologi Basis Data >  >> NoSQL >> Redis

Bagaimana cara membuat pekerja resque secara otomatis saat boot?

Saya tidak menggunakan permata dewa karena (1) Saya telah melihat proyek yang sangat hancur oleh kerumitan pengaturan yang diperkenalkan, dan (2) Saya pribadi sangat nyaman dengan alat standar Linux (Ubuntu) yang menangani hal semacam ini.

Untuk memulai pekerja Resque saat boot

Saya memiliki kode ini di /etc/rc.local saya mengajukan. Saya memiliki penerapan pengguna di sistem:

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

Kemudian, dalam skrip tersebut saya mengatur lingkungan Ruby dan menjalankan tugas penggaruk:

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

Saya telah menggunakan pengaturan semacam ini selama bertahun-tahun, dan itu solid. Server tidak crash. Saya belum membutuhkan biaya tambahan untuk menginstal sistem lain (seperti permata dewa) untuk mengawasi server lain ini.

Selain itu, saya menggunakan permata capistrano untuk menangani memulai ulang pekerja saat diterapkan.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Percobaan Ulang Otomatis

  2. Bagaimana menerapkan kondisi 'ATAU' dalam perintah tombol redis

  3. redis cluster terus mencetak log WSA_IO_PENDING

  4. redis cluster reshard [ERR] Memanggil MIGRATE:ERR Syntax error

  5. Penerbit node redis menghabiskan terlalu banyak memori