Sha256: 6e455e1cc5227fd5503e587ca07662c3c4265608d6fef4f35d3dd99509394107

Contents?: true

Size: 1.63 KB

Versions: 16

Compression:

Stored size: 1.63 KB

Contents

# Extend Resque::Server to add tabs
module ResqueScheduler
  
  module Server

    def self.included(base)

      base.class_eval do

        helpers do
          def format_time(t)
            t.strftime("%Y-%m-%d %H:%M:%S")
          end

          def queue_from_class_name(class_name)
            Resque.queue_from_class(Resque.constantize(class_name))
          end
        end

        get "/schedule" do
          Resque.reload_schedule! if Resque::Scheduler.dynamic
          # Is there a better way to specify alternate template locations with sinatra?
          erb File.read(File.join(File.dirname(__FILE__), 'server/views/scheduler.erb'))
        end

        post "/schedule/requeue" do
          config = Resque.schedule[params['job_name']]
          Resque::Scheduler.enqueue_from_config(config)
          redirect url("/overview")
        end
        
        get "/delayed" do
          # Is there a better way to specify alternate template locations with sinatra?
          erb File.read(File.join(File.dirname(__FILE__), 'server/views/delayed.erb'))
        end

        get "/delayed/:timestamp" do
          # Is there a better way to specify alternate template locations with sinatra?
          erb File.read(File.join(File.dirname(__FILE__), 'server/views/delayed_timestamp.erb'))
        end
        
        post "/delayed/queue_now" do
          timestamp = params['timestamp']
          Resque::Scheduler.enqueue_delayed_items_for_timestamp(timestamp.to_i) if timestamp.to_i > 0
          redirect url("/overview")
        end

      end

    end

    Resque::Server.tabs << 'Schedule'
    Resque::Server.tabs << 'Delayed'

  end
  
end

Version data entries

16 entries across 16 versions & 5 rubygems

Version Path
nulogy-resque-scheduler-1.10.15 lib/resque_scheduler/server.rb
sskirby-resque-scheduler-1.10.14 lib/resque_scheduler/server.rb
sskirby-resque-scheduler-1.10.13 lib/resque_scheduler/server.rb
resque-mongo-scheduler-2.0.2 lib/resque_scheduler/server.rb
resque-scheduler-2.0.0.b lib/resque_scheduler/server.rb
resque-scheduler-2.0.0.a lib/resque_scheduler/server.rb
brianjlandau-resque-scheduler-1.10.12 lib/resque_scheduler/server.rb
brianjlandau-resque-scheduler-1.10.11 lib/resque_scheduler/server.rb
sskirby-resque-scheduler-1.10.9 lib/resque_scheduler/server.rb
brianjlandau-resque-scheduler-1.10.10 lib/resque_scheduler/server.rb
brianjlandau-resque-scheduler-1.10.9 lib/resque_scheduler/server.rb
sskirby-resque-scheduler-1.10.8 lib/resque_scheduler/server.rb
brianjlandau-resque-scheduler-1.10.8 lib/resque_scheduler/server.rb
brianjlandau-resque-scheduler-1.10.7 lib/resque_scheduler/server.rb
brianjlandau-resque-scheduler-1.10.6 lib/resque_scheduler/server.rb
brianjlandau-resque-scheduler-1.10.5 lib/resque_scheduler/server.rb