lib/resque/plugins/dynamic_queues/server.rb in resque-dynamic-queues-0.6.1 vs lib/resque/plugins/dynamic_queues/server.rb in resque-dynamic-queues-0.7.0
- old
+ new
@@ -7,36 +7,55 @@
VIEW_PATH = File.join(File.dirname(__FILE__), 'server', 'views')
def self.registered(app)
app.get "/dynamicqueues" do
- @queues = Resque.get_dynamic_queues
- dq_view :queues
+ @queues = []
+ dqueues = Resque.get_dynamic_queues
+ dqueues.each do |k, v|
+ view_data = {
+ 'name' => k,
+ 'value' => Array(v).join(", "),
+ 'expanded' => Resque::Worker.new("@#{k}").queues.join(", ")
+ }
+ @queues << view_data
+ end
+
+ @queues.sort! do |a, b|
+ an = a['name']
+ bn = b['name']
+ if an == 'default'
+ 1
+ elsif bn == 'default'
+ -1
+ else
+ an <=> bn
+ end
+ end
+
+ plugin_view :queues
end
app.post "/dynamicqueues" do
- key = params['name']
- values = params['queues'].to_s.split.collect{|q| q.gsub(/\s/, '')}
- Resque.set_dynamic_queue(key, values)
+ dynamic_queues = Array(params['queues'])
+ queues = {}
+ dynamic_queues.each do |queue|
+ key = queue['name']
+ values = queue['value'].to_s.split(',').collect{|q| q.gsub(/\s/, '') }
+ queues[key] = values
+ end
+ Resque.set_dynamic_queues(queues)
redirect url(:dynamicqueues)
end
- app.post "/dynamicqueues/:key/remove" do
- key = params['key']
- Resque.set_dynamic_queue(key, [])
- redirect url(:dynamicqueues)
- end
-
app.helpers do
- def dq_view(filename, options = {}, locals = {})
+ def plugin_view(filename, options = {}, locals = {})
erb(File.read(File.join(::Resque::Plugins::DynamicQueues::Server::VIEW_PATH, "#{filename}.erb")), options, locals)
end
end
app.tabs << "DynamicQueues"
end
end
end
end
end
-
-Resque::Server.register Resque::Plugins::DynamicQueues::Server