Module: SidekiqStatus::Web
- Defined in:
- lib/sidekiq_status/web.rb
Overview
Hook into Sidekiq::Web Sinatra app which adds a new "/statuses" page
Constant Summary collapse
- VIEW_PATH =
Location of SidekiqStatus::Web view templates
File.('../../../web/views', __FILE__)
Class Method Summary collapse
Class Method Details
.registered(app) ⇒ Object
8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 |
# File 'lib/sidekiq_status/web.rb', line 8 def self.registered(app) app.helpers do def sidekiq_status_template(name) path = File.join(VIEW_PATH, name.to_s) + ".erb" File.open(path).read end end app.get '/statuses' do @count = (params[:count] || 25).to_i @current_page = (params[:page] || 1).to_i @current_page = 1 unless @current_page > 0 @total_size = SidekiqStatus::Container.size pageidx = @current_page - 1 @statuses = SidekiqStatus::Container.statuses(pageidx * @count, (pageidx + 1) * @count) erb(sidekiq_status_template(:statuses)) end app.get '/statuses/:jid' do @status = SidekiqStatus::Container.load(params[:jid]) erb(sidekiq_status_template(:status)) end app.get '/statuses/:jid/kill' do SidekiqStatus::Container.load(params[:jid]).request_kill redirect to(:statuses) end app.get '/statuses/delete/all' do SidekiqStatus::Container.delete redirect to(:statuses) end app.get '/statuses/delete/complete' do SidekiqStatus::Container.delete('complete') redirect to(:statuses) end app.get '/statuses/delete/finished' do SidekiqStatus::Container.delete(SidekiqStatus::Container::FINISHED_STATUS_NAMES) redirect to(:statuses) end end |