Class: Labkit::Middleware::Sidekiq::UserExperienceSli::Server

Inherits:
Object
  • Object
show all
Defined in:
lib/labkit/middleware/sidekiq/user_experience_sli/server.rb

Overview

This middleware for Sidekiq-server rehydrates the current experiences serialized to the job

Instance Method Summary collapse

Instance Method Details

#call(_worker_class, job, _queue) ⇒ Object



10
11
12
13
14
15
16
17
18
19
20
# File 'lib/labkit/middleware/sidekiq/user_experience_sli/server.rb', line 10

def call(_worker_class, job, _queue)
  job[Labkit::UserExperienceSli::Current::AGGREGATION_KEY]&.each do |experience_id, data|
    xp = Labkit::UserExperienceSli::Current.rehydrate(experience_id, **data)
    xp.checkpoint(checkpoint_action: "sidekiq_job_started", worker: job["class"].to_s)
  end

  yield

ensure
  Labkit::UserExperienceSli::Current.reset
end