class Shoryuken::Middleware::Server::AutoExtendVisibility

Constants

EXTEND_UPFRONT_SECONDS

Public Instance Methods

call(worker, queue, sqs_msg, body) { || ... } click to toggle source
# File lib/shoryuken/middleware/server/auto_extend_visibility.rb, line 9
def call(worker, queue, sqs_msg, body)
  return yield unless worker.class.auto_visibility_timeout?

  if sqs_msg.is_a?(Array)
    logger.warn { "Auto extend visibility isn't supported for batch workers" }
    return yield
  end

  timer = auto_visibility_timer(worker, queue, sqs_msg, body)
  yield
ensure
  timer.kill if timer
end

Private Instance Methods

auto_visibility_timer(worker, queue, sqs_msg, body) click to toggle source
# File lib/shoryuken/middleware/server/auto_extend_visibility.rb, line 47
def auto_visibility_timer(worker, queue, sqs_msg, body)
  MessageVisibilityExtender.new.auto_extend(worker, queue, sqs_msg, body).tap(&:execute)
end