3
4
5
6
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
|
# File 'lib/resque/http_stats.rb', line 3
def self.call(env)
info = Resque.info
failed_queues = Resque::Failure.all(0, Resque::Failure.count).inject(Hash.new(0)) do |res, f|
res[f['queue']] += 1
res
end
queues = Resque.queues.inject({}) do |res, q|
res[q] = {
in_queue: Resque.size(q),
failed: failed_queues[q],
}
res
end
stats = { resque: {
processed: info[:processed],
failed: info[:failed],
pending: info[:pending],
workers: info[:workers],
working: info[:working],
queues: queues
}}
[
200,
{
'Content-Type'=> 'application/json'
},
[JSON.generate(stats)]
]
end
|