Class: IdempotencyCheck::SidekiqSnapshot

Inherits:
Object
  • Object
show all
Defined in:
lib/idempotency_check/sidekiq.rb

Overview

Snapshots Sidekiq job activity so far (cumulative), broken down by job class and arguments, covering both:

- enqueued jobs (perform_async), via Sidekiq::Testing.fake!'s global
Sidekiq::Queues registry (no middleware needed, Sidekiq tracks this
itself)
- performed jobs (perform_async under Sidekiq::Testing.inline!, or a
real worker), via SidekiqServerTracker

Class Method Summary collapse

Class Method Details

.reset!Object



52
53
54
55
# File 'lib/idempotency_check/sidekiq.rb', line 52

def self.reset!
  Sidekiq::Queues.clear_all
  SidekiqPerformTracker.reset!
end

.takeObject



43
44
45
46
47
48
49
50
# File 'lib/idempotency_check/sidekiq.rb', line 43

def self.take
  {
    enqueued: Sidekiq::Queues.jobs_by_class.flat_map do |klass, jobs|
      jobs.map { |job| [klass, job['args']] }
    end,
    performed: SidekiqPerformTracker.performed.dup
  }
end