module Sidekiq::Clutch::Worker
Public Class Methods
included(base)
click to toggle source
# File lib/sidekiq/clutch/worker.rb, line 4 def self.included(base) base.class_eval do attr_accessor :previous_results end end
Public Instance Methods
perform(last_result_key, current_result_key, args)
click to toggle source
# File lib/sidekiq/clutch/worker.rb, line 10 def perform(last_result_key, current_result_key, args) self.previous_results = Sidekiq.redis { |c| c.lrange(last_result_key, 0, -1) }.map do |r| JSON.parse(r, quirks_mode: true) # quirks_mode allows a bare string or number end result = perform!(*args) Sidekiq.redis do |redis| redis.multi do |multi| multi.rpush(current_result_key, result.to_json) multi.expire(current_result_key, TEMPORARY_KEY_EXPIRATION_DURATION) end end end