module Scheduler::Web
Constants
- VIEWS
Public Class Methods
registered(app)
click to toggle source
# File lib/scheduler/web.rb, line 6 def self.registered(app) app.get "/scheduler" do Scheduler::Connection.with_connection("default") do @manager = Scheduler::Manager.without_runner @schedules = Scheduler::Manager.discover_schedules.sort do |a,b| a_next = a.schedule_info.next_run b_next = b.schedule_info.next_run if a_next && b_next a_next <=> b_next elsif a_next -1 else 1 end end erb File.read(File.join(VIEWS, 'scheduler.erb')), locals: {view_path: VIEWS} end end app.post "/scheduler/:name/trigger" do halt 404 unless (name = params[:name]) Scheduler::Connection.with_connection("default") do klass = name.constantize info = klass.schedule_info info.next_run = Time.now.to_f info.write! redirect "#{root_path}scheduler" end end end