Class: DelayedJobMonitor::App
- Inherits:
-
Sinatra::Base
- Object
- Sinatra::Base
- DelayedJobMonitor::App
- Defined in:
- lib/delayed_job_monitor/application/app.rb
Instance Method Summary collapse
-
#current_page ⇒ Object
SINTRA APP ################################.
- #delayed_job ⇒ Object
- #delayed_job_sql(type) ⇒ Object
- #delayed_jobs(type) ⇒ Object
- #partial(template, local_vars = {}) ⇒ Object
- #path_prefix ⇒ Object
- #per_page ⇒ Object
- #poll ⇒ Object
- #show_for_polling(page) ⇒ Object
- #start ⇒ Object
-
#tabs ⇒ Object
SINATRA ROUTES/ACTIONS ##########################.
- #url_path(*path_parts) ⇒ Object (also: #u)
Instance Method Details
#current_page ⇒ Object
SINTRA APP ################################
28 29 30 |
# File 'lib/delayed_job_monitor/application/app.rb', line 28 def current_page url_path request.path_info.sub('/','') end |
#delayed_job ⇒ Object
16 17 18 19 20 21 22 23 24 25 |
# File 'lib/delayed_job_monitor/application/app.rb', line 16 def delayed_job begin if DelayedJobMonitor.connected? DelayedJobMonitor::Job else nil end rescue end end |
#delayed_job_sql(type) ⇒ Object
53 54 55 56 57 58 59 60 61 62 63 64 |
# File 'lib/delayed_job_monitor/application/app.rb', line 53 def delayed_job_sql(type) case type when :enqueued '' when :working 'locked_at is not null' when :failed 'last_error is not null' when :pending 'attempts = 0' end end |
#delayed_jobs(type) ⇒ Object
49 50 51 |
# File 'lib/delayed_job_monitor/application/app.rb', line 49 def delayed_jobs(type) delayed_job.where(delayed_job_sql(type)) end |
#partial(template, local_vars = {}) ⇒ Object
66 67 68 69 70 71 |
# File 'lib/delayed_job_monitor/application/app.rb', line 66 def partial(template, local_vars = {}) @partial = true haml(template.to_sym, {:layout => false}, local_vars) ensure @partial = false end |
#path_prefix ⇒ Object
45 46 47 |
# File 'lib/delayed_job_monitor/application/app.rb', line 45 def path_prefix request.env['SCRIPT_NAME'] end |
#per_page ⇒ Object
36 37 38 |
# File 'lib/delayed_job_monitor/application/app.rb', line 36 def per_page 25 end |
#poll ⇒ Object
73 74 75 76 77 78 79 80 |
# File 'lib/delayed_job_monitor/application/app.rb', line 73 def poll if @polling text = "Last Updated: #{Time.now.strftime("%H:%M:%S")}" else text = "<a href='#{u(request.path_info)}.poll' rel='poll'>Live Poll</a>" end "<p class='poll'>#{text}</p>" end |
#show_for_polling(page) ⇒ Object
82 83 84 85 86 87 88 |
# File 'lib/delayed_job_monitor/application/app.rb', line 82 def show_for_polling(page) content_type "text/html" @polling = true # show(page.to_sym, false).gsub(/\s{1,}/, ' ') @jobs = delayed_jobs(page.to_sym) haml(page.to_sym, {:layout => false}) end |
#start ⇒ Object
32 33 34 |
# File 'lib/delayed_job_monitor/application/app.rb', line 32 def start params[:start].to_i end |
#tabs ⇒ Object
SINATRA ROUTES/ACTIONS ##########################
91 92 93 94 95 96 97 98 99 100 101 |
# File 'lib/delayed_job_monitor/application/app.rb', line 91 def tabs [ {:name => 'Overview', :path => '/overview'}, {:name => 'Enqueued', :path => '/enqueued'}, {:name => 'Working', :path => '/working'}, {:name => 'Pending', :path => '/pending'}, {:name => 'Failed', :path => '/failed'} # {:name => 'Servers', :path => '/servers'}, # {:name => 'Workers', :path => '/workers'} ] end |
#url_path(*path_parts) ⇒ Object Also known as: u
40 41 42 |
# File 'lib/delayed_job_monitor/application/app.rb', line 40 def url_path(*path_parts) [ path_prefix, path_parts ].join("/").squeeze('/') end |