Module: SidekiqScheduler::Web
- Defined in:
- lib/sidekiq-scheduler/web.rb
Overview
Hook into Sidekiq::Web app which adds a new ‘/recurring-jobs’ page
Defined Under Namespace
Modules: Helpers
Constant Summary collapse
- VIEW_PATH =
File.(SidekiqAdapter::SIDEKIQ_GTE_8_0_0 ? '../../../web/views' : '../../../web/views/sidekiq73', __FILE__)
Class Method Summary collapse
Class Method Details
.registered(app) ⇒ Object
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 55 |
# File 'lib/sidekiq-scheduler/web.rb', line 29 def self.registered(app) app.helpers(Helpers) app.get '/recurring-jobs' do @presented_jobs = JobPresenter.build_collection(Sidekiq.schedule!) erb File.read(File.join(VIEW_PATH, 'recurring_jobs.erb')) end app.post '/recurring-jobs/:name/enqueue' do schedule = Sidekiq.get_schedule(sidekiq_scheduler_fetch_route_param(:name)) SidekiqScheduler::Scheduler.instance.enqueue_job(schedule) redirect "#{root_path}recurring-jobs" end app.post '/recurring-jobs/:name/toggle' do Sidekiq.reload_schedule! SidekiqScheduler::Scheduler.instance.toggle_job_enabled(sidekiq_scheduler_fetch_route_param(:name)) redirect "#{root_path}recurring-jobs" end app.post '/recurring-jobs/toggle-all' do SidekiqScheduler::Scheduler.instance.toggle_all_jobs(sidekiq_scheduler_fetch_url_param(:action) == 'enable') redirect "#{root_path}recurring-jobs" end end |