Class: AsyncExperiments::ExperimentErrorWorker

Inherits:
Object
  • Object
show all
Includes:
Sidekiq::Worker
Defined in:
lib/async_experiments/experiment_error_worker.rb

Instance Method Summary collapse

Instance Method Details

#perform(experiment_name, exception_string, expiry) ⇒ Object



9
10
11
12
13
14
15
16
17
# File 'lib/async_experiments/experiment_error_worker.rb', line 9

def perform(experiment_name, exception_string, expiry)
  Sidekiq.redis do |redis|
    AsyncExperiments.statsd.increment("experiments.#{experiment_name}.exceptions")
    hash = Digest::SHA2.base64digest(exception_string)
    redis_key = "experiments:#{experiment_name}:exceptions:#{hash}"
    redis.set(redis_key, exception_string) unless redis.exists(redis_key)
    redis.expire(redis_key, expiry)
  end
end