class SidekiqUtils::Middleware::Server::FindOptional

Public Instance Methods

call(worker, job, queue) { || ... } click to toggle source
# File lib/sidekiq_utils/middleware/server/find_optional.rb, line 5
def call(worker, job, queue)
  begin
    yield
  rescue SidekiqUtils::FindOptional::NotFoundError
    if queue == 'retry_once'
      # do nothing; this is already the retry and it failed again
    else
      worker.class.set(queue: :retry_once).
        perform_in(30.seconds, *job['args'])
    end
  end
end