Sidekiq - Perform in
class SyncWorker include Sidekiq::Worker sidekiq_options queue: :foo def perform(group_id) group = :Group.find(group_id) # ... business logic end end Group .where("last_sync_at < ?", 1.day.ago) .find_each { |group| SyncWorker.perform_in(rand(1..120).minutes, group.id) }