class SidekiqScheduler::Scheduler

def idempotent_job_enqueue(job_name, time, config)

Parameters:
  • config (Hash) -- Job's config hash
  • time (Time) -- The time when the job got cleared for triggering
  • job_name (String) -- The job's name
def idempotent_job_enqueue(job_name, time, config)
  registered = SidekiqScheduler::RedisManager.register_job_instance(job_name, time)
  if registered
    Sidekiq.logger.info "queueing #{config['class']} (#{job_name})"
    handle_errors { enqueue_job(config, time) }
    SidekiqScheduler::RedisManager.remove_elder_job_instances(job_name)
  else
    Sidekiq.logger.debug { "Ignoring #{job_name} job as it has been already enqueued" }
  end
end