Sha256: 52fa65ac114a4a202ba23cbb8de8d0647e32dc1cb802b8fe5a57c3030df0e2d0
Contents?: true
Size: 1.9 KB
Versions: 1
Compression:
Stored size: 1.9 KB
Contents
module Sidekiq module ExpectedFailures module Web def self.registered(app) web_dir = File.expand_path("../../../../web", __FILE__) app.helpers do def link_to_details(job) data = [] search = "" job["args"].each_with_index do |argument, index| data << "data-#{index+1}='#{h argument.inspect}'" search << h(argument.inspect) end "<a href='#' data-search='#{search.downcase}' #{data.join(' ')} title='#{job["worker"]}'>Details</a>" end end app.post "/expected_failures/clear" do if %w(old all counters).include?(params[:what]) Sidekiq::ExpectedFailures.send("clear_#{params[:what]}") end redirect "#{root_path}expected_failures" end app.get "/expected_failures/stats" do json(failures: Sidekiq::ExpectedFailures.counters) end panel = proc do @dates = Sidekiq::ExpectedFailures.dates @count = (params[:count] || 50).to_i if @dates @date = params[:date] || @dates.keys[0] (@current_page, @total_size, @jobs) = page("expected:#{@date}", params[:page], @count) @jobs = @jobs.map { |msg| Sidekiq.load_json(msg) } @counters = Sidekiq::ExpectedFailures.counters end @javascript = %w(expected bootstrap).map do |file| File.read(File.join(web_dir, "assets/#{file}.js")) end.join erb File.read(File.join(web_dir, "views/expected_failures.erb")) end app.get "/expected_failures/day/:date" do self.instance_exec(&panel) end app.get "/expected_failures" do self.instance_exec(&panel) end end end end end Sidekiq::Web.register Sidekiq::ExpectedFailures::Web Sidekiq::Web.tabs["Expected Failures"] = "expected_failures"
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
sidekiq-expected_failures-0.4.0 | lib/sidekiq/expected_failures/web.rb |