Monday, 26 December 2022

Add sidekiq step by step

1. step 

gem "redis", "~> 4.0" 

gem 'sidekiq_alive'

gem 'sidekiq', '~> 6.1.0'

gem "sidekiq-cron"


2. step

Add file in : config/schedule.yml
my_first_job:
  cron: "*/1 * * * *"
  class: "WorkerName(FirstWorker
)"
3. step
Add file in : config/initializers/sidekiq.rb
schedule_file = "config/schedule.yml"
if File.exist?(schedule_file) && Sidekiq.server?
   Sidekiq::Cron::Job.load_from_hash YAML.load_file(schedule_file)
end
4. step
Add workers
class FirstWorker
    include Sidekiq::Worker
  
    def perform(*args)
        Zzzzzz.first.update(name: "aaaaa")
    end
end
5. Step
Add routes:
require 'sidekiq/web'
require 'sidekiq/cron/web'
mount Sidekiq::Web, at: '/sidekiq'
6.step
Start sidekiq from the root of your Rails application so the jobs will be processed:
Run: bundle exec sidekiq
Then check on browse: localhost:3000/sidekiq
Manually Worker call with time schedule
FirstWorker.perform_at(5.minutes.from_now)