Start Sidekiq automatically if it is not operational - Rails

I use redis serverand sidekiqfor my cron jobs , but some time sidekiqwill automatically kills servers.

I want to restart sidekiqfrom my controller action or automatically when it kills without stopping my rails application server.

Please suggest me how can I deal with this problem?

+4
source share
3 answers

You can verify that the sidekiq and redis server is up or down:

  def redis_connected?
    !!Sidekiq.redis(&:info) rescue false
  end

  def sidekiq_connected?
    ps = Sidekiq::ProcessSet.new
    ps.size > 0 ? true : false 
  end

, , sidekiq, rails.

  def start_sidekiq
    system "redis-server &" if !redis_connected?
    system "bundle exec sidekiq -d" if !sidekiq_connected?
    flash[:sidekiq_notification]="Starting server... Please refresh after few seconds"
    redirect_to :back
  end

+3

.

, bluepill god, , .

+1

, .

, - God, Monit .

, , ruby ​​- `` %x{} (, %x{ bundle exec sidekiq })

+1

Source: https://habr.com/ru/post/1665096/


All Articles