Sha256: 45e94165c3d8f1748c24b5feb7a3eec85e065374baf042516a0f8ac8e5a5cc59

Contents?: true

Size: 656 Bytes

Versions: 24

Compression:

Stored size: 656 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

      # @param [Hash] item sidekiq job hash
      def initialize(item)
        super
        @worker_class = item[CLASS_KEY]
      end

      # Create a new job from the current one.
      #   This will mess up sidekiq stats because a new job is created
      def call
        worker_class&.perform_in(5, *item[ARGS_KEY]) if sidekiq_worker_class?
      end
    end
  end
end

Version data entries

24 entries across 24 versions & 1 rubygems

Version Path
sidekiq-unique-jobs-6.0.25 lib/sidekiq_unique_jobs/on_conflict/reschedule.rb
sidekiq-unique-jobs-6.0.24 lib/sidekiq_unique_jobs/on_conflict/reschedule.rb
sidekiq-unique-jobs-6.0.23 lib/sidekiq_unique_jobs/on_conflict/reschedule.rb
sidekiq-unique-jobs-6.0.22 lib/sidekiq_unique_jobs/on_conflict/reschedule.rb
sidekiq-unique-jobs-6.0.21 lib/sidekiq_unique_jobs/on_conflict/reschedule.rb
sidekiq-unique-jobs-6.0.20 lib/sidekiq_unique_jobs/on_conflict/reschedule.rb
sidekiq-unique-jobs-6.0.16 lib/sidekiq_unique_jobs/on_conflict/reschedule.rb
sidekiq-unique-jobs-6.0.19 lib/sidekiq_unique_jobs/on_conflict/reschedule.rb
sidekiq-unique-jobs-6.0.13 lib/sidekiq_unique_jobs/on_conflict/reschedule.rb
sidekiq-unique-jobs-6.0.12 lib/sidekiq_unique_jobs/on_conflict/reschedule.rb
sidekiq-unique-jobs-6.0.11 lib/sidekiq_unique_jobs/on_conflict/reschedule.rb
sidekiq-unique-jobs-6.0.10 lib/sidekiq_unique_jobs/on_conflict/reschedule.rb
sidekiq-unique-jobs-6.0.9 lib/sidekiq_unique_jobs/on_conflict/reschedule.rb
sidekiq-unique-jobs-6.0.8 lib/sidekiq_unique_jobs/on_conflict/reschedule.rb
sidekiq-unique-jobs-6.0.7 lib/sidekiq_unique_jobs/on_conflict/reschedule.rb
sidekiq-unique-jobs-6.0.6 lib/sidekiq_unique_jobs/on_conflict/reschedule.rb
sidekiq-unique-jobs-6.0.5 lib/sidekiq_unique_jobs/on_conflict/reschedule.rb
sidekiq-unique-jobs-6.0.4 lib/sidekiq_unique_jobs/on_conflict/reschedule.rb
sidekiq-unique-jobs-6.0.3 lib/sidekiq_unique_jobs/on_conflict/reschedule.rb
sidekiq-unique-jobs-6.0.2 lib/sidekiq_unique_jobs/on_conflict/reschedule.rb