# File lib/resque/server.rb, line 287 def self.tabs @tabs ||= ["Overview", "Working", "Failed", "Queues", "Workers", "Stats"] end
# File lib/resque/server.rb, line 295 def self.url_prefix (@url_prefix.nil? || @url_prefix.empty?) ? '' : @url_prefix + '/' end
# File lib/resque/server.rb, line 291 def self.url_prefix=(url_prefix) @url_prefix = url_prefix end
# File lib/resque/server.rb, line 53 def class_if_current(path = '') 'class="current"' if current_page[0, path.size] == path end
# File lib/resque/server.rb, line 36 def current_page url_path request.path_info.sub('/','') end
# File lib/resque/server.rb, line 32 def current_section url_path request.path_info.sub('/','').split('/')[0].downcase end
# File lib/resque/server.rb, line 126 def partial(template, local_vars = {}) @partial = true erb(template.to_sym, {:layout => false}, local_vars) ensure @partial = false end
# File lib/resque/server.rb, line 122 def partial? @partial end
# File lib/resque/server.rb, line 49 def path_prefix request.env['SCRIPT_NAME'] end
# File lib/resque/server.rb, line 133 def poll if @polling text = "Last Updated: #{Time.now.strftime("%H:%M:%S")}" else text = "<a href='#{u(request.path_info)}.poll' rel='poll'>Live Poll</a>" end "<p class='poll'>#{text}</p>" end
# File lib/resque/server.rb, line 45 def redirect_url_path(*path_parts) [ path_prefix, path_parts ].join("/").squeeze('/') end
# File lib/resque/server.rb, line 71 def redis_get_size(key) case Resque.redis.type(key) when 'none' [] when 'list' Resque.redis.llen(key) when 'set' Resque.redis.scard(key) when 'string' Resque.redis.get(key).length when 'zset' Resque.redis.zcard(key) end end
# File lib/resque/server.rb, line 86 def redis_get_value_as_array(key, start=0) case Resque.redis.type(key) when 'none' [] when 'list' Resque.redis.lrange(key, start, start + 20) when 'set' Resque.redis.smembers(key)[start..(start + 20)] when 'string' [Resque.redis.get(key)] when 'zset' Resque.redis.zrange(key, start, start + 20) end end
# File lib/resque/server.rb, line 283 def resque Resque end
# File lib/resque/server.rb, line 144 def show(page, layout = true) response["Cache-Control"] = "max-age=0, private, must-revalidate" begin erb page.to_sym, {:layout => layout}, :resque => Resque rescue Errno::ECONNREFUSED erb :error, {:layout => false}, :error => "Can't connect to Redis! (#{Resque.redis_id})" end end
# File lib/resque/server.rb, line 101 def show_args(args) Array(args).map do |a| a.to_yaml end.join("\n") end
# File lib/resque/server.rb, line 153 def show_for_polling(page) content_type "text/html" @polling = true show(page.to_sym, false).gsub(/\s{1,}/, ' ') end
# File lib/resque/server.rb, line 57 def tab(name) dname = name.to_s.downcase path = url_path(dname) "<li #{class_if_current(path)}><a href='#{path}'>#{name}</a></li>" end
# File lib/resque/server.rb, line 63 def tabs Resque::Server.tabs end
# File lib/resque/server.rb, line 40 def url_path(*path_parts) [ url_prefix, path_prefix, path_parts ].join("/").squeeze('/') end
# File lib/resque/server.rb, line 67 def url_prefix Resque::Server.url_prefix end
# File lib/resque/server.rb, line 107 def worker_hosts @worker_hosts ||= worker_hosts! end
# File lib/resque/server.rb, line 111 def worker_hosts! hosts = Hash.new { [] } Resque.workers.each do |worker| host, _ = worker.to_s.split(':') hosts[host] += [worker.to_s] end hosts end