Sha256: 76fd17ebfdd4351abcb3856307b48b19985fc410ebda9d2d85d790c63586c5ea
Contents?: true
Size: 971 Bytes
Versions: 1
Compression:
Stored size: 971 Bytes
Contents
# frozen_string_literal: true module SidekiqUniqueJobs module OnConflict # Strategy to reschedule job on conflict # # @author Mikael Henriksson <mikael@zoolutions.se> class Reschedule < OnConflict::Strategy include SidekiqUniqueJobs::SidekiqWorkerMethods include SidekiqUniqueJobs::Logging include SidekiqUniqueJobs::JSON # @param [Hash] item sidekiq job hash def initialize(item, redis_pool = nil) super(item, redis_pool) @worker_class = item[CLASS] end # Create a new job from the current one. # This will mess up sidekiq stats because a new job is created def call if sidekiq_worker_class? log_info("Rescheduling #{item[UNIQUE_DIGEST]}") worker_class&.perform_in(5, *item[ARGS]) else log_warn("Skip rescheduling of #{item[UNIQUE_DIGEST]} because #{worker_class} is not a Sidekiq::Worker") end end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
sidekiq-unique-jobs-7.0.0.beta9 | lib/sidekiq_unique_jobs/on_conflict/reschedule.rb |