module Resque::StateServer
Constants
- PER_PAGE
- VIEW_PATH
Public Class Methods
registered(app)
click to toggle source
# File lib/resque/state_server.rb, line 10 def self.registered(app) app.get '/state' do @start = params[:start].to_i @end = @start + (params[:per_page] || per_page) - 1 @statuses = Resque::Plugins::State::Hash.statuses(@start, @end) @size = Resque::Plugins::State::Hash.count status_view(:statuses) end app.get '/state/:id.js' do @status = Resque::Plugins::State::Hash.get(params[:id]) content_type :js @status.json end app.get '/state/:id' do @status = Resque::Plugins::State::Hash.get(params[:id]) status_view(:state) end app.post '/state/:id/kill' do Resque::Plugins::State::Hash.kill(params[:id]) redirect u(:state) end app.post '/state/clear' do Resque::Plugins::State::Hash.clear redirect u(:state) end app.post '/state/clear/completed' do Resque::Plugins::State::Hash.clear_completed redirect u(:state) end app.post '/state/clear/failed' do Resque::Plugins::State::Hash.clear_failed redirect u(:state) end app.get '/state.poll' do content_type 'text/plain' @polling = true @start = params[:start].to_i @end = @start + (params[:per_page] || per_page) - 1 @statuses = Resque::Plugins::State::Hash.statuses(@start, @end) @size = Resque::Plugins::State::Hash.count status_view(:statuses, layout: false) end app.helpers do def per_page PER_PAGE end def status_view(filename, options = {}, locals = {}) erb(File.read(File.join(::Resque::StateServer::VIEW_PATH, "#{filename}.erb")), options, locals) end def status_poll(start) if @polling text = "Last Updated: #{Time.now.strftime('%H:%M:%S')}" else text = "<a href='#{u(request.path_info)}.poll?start=#{start}' rel='poll'>Live Poll</a>" end "<p class='poll'>#{text}</p>" end end app.tabs << 'State' end
Public Instance Methods
per_page()
click to toggle source
# File lib/resque/state_server.rb, line 62 def per_page PER_PAGE end
status_poll(start)
click to toggle source
# File lib/resque/state_server.rb, line 70 def status_poll(start) if @polling text = "Last Updated: #{Time.now.strftime('%H:%M:%S')}" else text = "<a href='#{u(request.path_info)}.poll?start=#{start}' rel='poll'>Live Poll</a>" end "<p class='poll'>#{text}</p>" end
status_view(filename, options = {}, locals = {})
click to toggle source
# File lib/resque/state_server.rb, line 66 def status_view(filename, options = {}, locals = {}) erb(File.read(File.join(::Resque::StateServer::VIEW_PATH, "#{filename}.erb")), options, locals) end