Sha256: f6b08d47da999e021496ad51647758c7973cb273304683ffbc0e3d5f045b84e3

Contents?: true

Size: 946 Bytes

Versions: 11

Compression:

Stored size: 946 Bytes

Contents

# frozen_string_literal: true

# stdlib
require "pathname"

# 3rd party
require "sidekiq"
require "sidekiq/web"

# internal
require_relative "./registry"
require_relative "./web/stats"

module Sidekiq
  module Throttled
    # Provides Sidekiq tab to monitor and reset throttled stats.
    module Web
      VIEWS         = Pathname.new(__dir__).join("web")
      THROTTLED_TPL = VIEWS.join("throttled.html.erb").read.freeze

      class << self
        # @api private
        def registered(app)
          register_throttled_tab app
        end

        private

        def register_throttled_tab(app)
          app.get("/throttled") { erb THROTTLED_TPL.dup }

          app.post("/throttled/:id/reset") do
            Registry.get(params[:id], &:reset!)
            redirect "#{root_path}throttled"
          end
        end
      end
    end
  end
end

Sidekiq::Web.register Sidekiq::Throttled::Web
Sidekiq::Web.tabs["Throttled"] = "throttled"

Version data entries

11 entries across 11 versions & 1 rubygems

Version Path
sidekiq-throttled-1.5.2 lib/sidekiq/throttled/web.rb
sidekiq-throttled-1.5.1 lib/sidekiq/throttled/web.rb
sidekiq-throttled-1.5.0 lib/sidekiq/throttled/web.rb
sidekiq-throttled-1.4.0 lib/sidekiq/throttled/web.rb
sidekiq-throttled-1.3.0 lib/sidekiq/throttled/web.rb
sidekiq-throttled-1.2.0 lib/sidekiq/throttled/web.rb
sidekiq-throttled-1.1.0 lib/sidekiq/throttled/web.rb
sidekiq-throttled-1.0.1 lib/sidekiq/throttled/web.rb
sidekiq-throttled-1.0.0 lib/sidekiq/throttled/web.rb
sidekiq-throttled-1.0.0.alpha.1 lib/sidekiq/throttled/web.rb
sidekiq-throttled-1.0.0.alpha lib/sidekiq/throttled/web.rb