Sha256: 1663d8e3384d14ffc5ba35a01a66f96b2a9c880611399d1932aef64ef31b23be

Contents?: true

Size: 1.27 KB

Versions: 80

Compression:

Stored size: 1.27 KB

Contents

# frozen_string_literal: true

module Appsignal
  class Hooks
    class SidekiqHook < Appsignal::Hooks::Hook
      register :sidekiq

      def self.version_5_1_or_higher?
        @version_5_1_or_higher ||=
          if dependencies_present?
            Gem::Version.new(::Sidekiq::VERSION) >= Gem::Version.new("5.1.0")
          else
            false
          end
      end

      def self.dependencies_present?
        defined?(::Sidekiq)
      end

      def dependencies_present?
        self.class.dependencies_present?
      end

      def install
        require "appsignal/integrations/sidekiq"
        Appsignal::Probes.register :sidekiq, Appsignal::Probes::SidekiqProbe

        ::Sidekiq.configure_server do |config|
          config.error_handlers <<
            Appsignal::Integrations::SidekiqErrorHandler.new
          if config.respond_to? :death_handlers
            config.death_handlers <<
              Appsignal::Integrations::SidekiqDeathHandler.new
          end

          config.server_middleware do |chain|
            if chain.respond_to? :prepend
              chain.prepend Appsignal::Integrations::SidekiqMiddleware
            else
              chain.add Appsignal::Integrations::SidekiqMiddleware
            end
          end
        end
      end
    end
  end
end

Version data entries

80 entries across 80 versions & 1 rubygems

Version Path
appsignal-4.3.3-java lib/appsignal/hooks/sidekiq.rb
appsignal-4.3.3 lib/appsignal/hooks/sidekiq.rb
appsignal-4.3.2-java lib/appsignal/hooks/sidekiq.rb
appsignal-4.3.2 lib/appsignal/hooks/sidekiq.rb
appsignal-4.3.1-java lib/appsignal/hooks/sidekiq.rb
appsignal-4.3.1 lib/appsignal/hooks/sidekiq.rb
appsignal-4.3.0-java lib/appsignal/hooks/sidekiq.rb
appsignal-4.3.0 lib/appsignal/hooks/sidekiq.rb
appsignal-4.2.3-java lib/appsignal/hooks/sidekiq.rb
appsignal-4.2.3 lib/appsignal/hooks/sidekiq.rb
appsignal-4.2.2-java lib/appsignal/hooks/sidekiq.rb
appsignal-4.2.2 lib/appsignal/hooks/sidekiq.rb
appsignal-4.2.1-java lib/appsignal/hooks/sidekiq.rb
appsignal-4.2.1 lib/appsignal/hooks/sidekiq.rb
appsignal-4.2.0-java lib/appsignal/hooks/sidekiq.rb
appsignal-4.2.0 lib/appsignal/hooks/sidekiq.rb
appsignal-4.1.3-java lib/appsignal/hooks/sidekiq.rb
appsignal-4.1.3 lib/appsignal/hooks/sidekiq.rb
appsignal-4.1.2-java lib/appsignal/hooks/sidekiq.rb
appsignal-4.1.2 lib/appsignal/hooks/sidekiq.rb