Sha256: a4c5bffb792300f2a70d5f6faf0c6a3f52bf1e795eb44de74d74e50c85bb0c87

Contents?: true

Size: 923 Bytes

Versions: 17

Compression:

Stored size: 923 Bytes

Contents

module Shoryuken
  module Middleware
    module Server
      class Timing
        include Util

        def call(worker, queue, sqs_msg, body)
          Shoryuken::Logging.with_context("#{worker_name(worker.class, sqs_msg, body)}/#{queue}/#{sqs_msg.message_id}") do
            begin
              started_at = Time.now

              logger.info { "started at #{started_at}" }

              yield

              total_time = elapsed(started_at)

              if (total_time / 1000.0) > (timeout = Shoryuken::Client.queues(queue).visibility_timeout)
                logger.warn { "exceeded the queue visibility timeout by #{total_time - (timeout * 1000)} ms" }
              end

              logger.info { "completed in: #{total_time} ms" }
            rescue
              logger.info { "failed in: #{elapsed(started_at)} ms" }
              raise
            end
          end
        end
      end
    end
  end
end

Version data entries

17 entries across 17 versions & 1 rubygems

Version Path
shoryuken-3.1.12 lib/shoryuken/middleware/server/timing.rb
shoryuken-3.1.11 lib/shoryuken/middleware/server/timing.rb
shoryuken-3.1.10 lib/shoryuken/middleware/server/timing.rb
shoryuken-3.1.9 lib/shoryuken/middleware/server/timing.rb
shoryuken-3.1.8 lib/shoryuken/middleware/server/timing.rb
shoryuken-3.1.7 lib/shoryuken/middleware/server/timing.rb
shoryuken-3.1.6 lib/shoryuken/middleware/server/timing.rb
shoryuken-3.1.5 lib/shoryuken/middleware/server/timing.rb
shoryuken-3.1.4 lib/shoryuken/middleware/server/timing.rb
shoryuken-3.1.3 lib/shoryuken/middleware/server/timing.rb
shoryuken-3.1.2 lib/shoryuken/middleware/server/timing.rb
shoryuken-3.1.1 lib/shoryuken/middleware/server/timing.rb
shoryuken-3.1.0 lib/shoryuken/middleware/server/timing.rb
shoryuken-3.0.11 lib/shoryuken/middleware/server/timing.rb
shoryuken-3.0.10 lib/shoryuken/middleware/server/timing.rb
shoryuken-3.0.9 lib/shoryuken/middleware/server/timing.rb
shoryuken-3.0.8 lib/shoryuken/middleware/server/timing.rb