ruby-on-railsherokusidekiqjob-schedulingruby-daemons

How to daemonize Sidekiq workers in Heroku?


The sidekiq workers get terminated in Heroku very frequently. It should be started every time.

How can we make these workers to run without getting terminated in Heroku?

Do we have any configurations for Sidekiq or Heroku / can we daemonize the Sidekiq and make it to run in Heroku without terminating.

Please help!


Solution

  • I have been using this sidekiq with rufus-scheduler for my Herokuapp. Add your scheduler task in rails initializers(#app/config/initializers/task_scheduler.rb) It send daily status at 9am IST.

    scheduler = Rufus::Scheduler.new
    scheduler.cron '00 09 * * * Asia/Kolkata' do
      puts "it's 9am! good morning!"
      User.daily_status
    end
    
    scheduler.every '10s' do
      Rails.logger.info "hello, it's #{Time.now}"
    end