Module: Resque::FailureServer

Defined in:
lib/resque/failure_server.rb

Constant Summary collapse

VIEW_PATH =
File.join(File.dirname(__FILE__), 'server', 'views')

Class Method Summary collapse

Class Method Details

.registered(app) ⇒ Object



7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
# File 'lib/resque/failure_server.rb', line 7

def self.registered(app)
  app.get '/failed/list' do
    @queues = Resque::Failure.backend.queues
    failures_view(:failures)
  end
  
  app.get '/failed/:queue' do
    @start = params[:start].to_i || 0
    @failed = Resque::Failure.backend.all(params[:queue], @start, 20)
    failures_view(:failure_queue)
  end
  
  app.post '/failed/:queue/clear' do
    Resque::Failure.backend.clear(params[:queue])
    redirect u("failure/#{params[:queue]}")
  end
  
  app.get '/failed/:queue/requeue/:id' do
    Resque::Failure.backend.requeue(params[:queue], params[:id])
    if request.xhr?
      return Resque::Failure.backend.all(params[:queue], params[:index])['retried_at']
    else
      redirect u("failure/#{params[:queue]}")
    end
  end
  
  app.helpers do
    def failures_view(filename, options = {}, locals = {})
      erb(File.read(File.join(::Resque::FailureServer::VIEW_PATH, "#{filename}.erb")), options, locals)
    end
  end
end