17
18
19
20
21
22
23
24
25
26
27
28
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
|
# File 'lib/resque/change_queue/server.rb', line 17
def self.included(base)
base.class_eval do
get "/changequeue" do
erb File.read(Resque::ChangeQueue::Server.erb_path('search.html.erb'))
end
get "/changequeue/jobs" do
klassname = params[:classname]
args_hash = params[:args] || {}
args = args_hash.values.reverse
while args.count > 0 && args[0].try(:length) == 0
args.shift
end
args = args.reverse!
jobs = Resque::ChangeQueue.search_jobs(params[:queue], klassname, args)
tpl_params = {
jobs: jobs,
classname: klassname,
source_queue: params[:queue],
args: Base64.encode64(args.to_json)
}
erb File.read(Resque::ChangeQueue::Server.erb_path('jobs.html.erb')),{}, tpl_params
end
post "/changequeue/move_jobs" do
args = JSON.parse(Base64.decode64(params["b64_args"]))
results = Resque::ChangeQueue.change_queue(params[:source_queue], params[:queue], params[:classname], args)
redirect "/resque/changequeue", 302
end
end
end
|