Guest User

Untitled

a guest
Feb 21st, 2018
65
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.21 KB | None | 0 0
  1. #!/usr/bin/env ruby
  2.  
  3. require 'rubygems'
  4. require 'beanstalk-client'
  5.  
  6. if ARGV.length > 0 && ARGV[0] == 'config'
  7. puts "graph_title Beanstalk Queue Size"
  8. puts "graph_vlabel watching"
  9. puts "watching.label Watching"
  10. puts "graph_vlabel reserved"
  11. puts "reserved.label Reserved"
  12. puts "graph_vlabel ready"
  13. puts "ready.label Ready"
  14. puts "graph_vlabel using"
  15. puts "using.label Using"
  16. puts "graph_vlabel buried"
  17. puts "buried.label Buried"
  18. puts "graph_vlabel waiting"
  19. puts "waiting.label Waiting"
  20. puts "graph_vlabel delayed"
  21. puts "delayed.label Delayed"
  22. puts "graph_vlabel urgent"
  23. puts "urgent.label Urgent"
  24. exit(0)
  25. end
  26.  
  27.  
  28. B = Beanstalk::Connection.new 'localhost:11300'
  29.  
  30. tubes = B.list_tubes
  31.  
  32. stats = {'current-watching' => 0, 'current-jobs-reserved' => 0, 'current-jobs-ready' => 0,
  33. 'current-using' => 0, 'current-jobs-buried' => 0, 'current-waiting' => 0,
  34. 'current-jobs-delayed' => 0, 'current-jobs-urgent' => 0 }
  35.  
  36. tubes.each do |tube|
  37. ts = B.stats_tube(tube)
  38. ts.keys.sort.each do |key|
  39. next unless stats.has_key?(key)
  40. stats[key] += ts[key]
  41. end
  42. end
  43.  
  44. stats.keys.each_pair do |name, value|
  45. p "#{name.split('-').last}.value #{value}"
  46. end
Add Comment
Please, Sign In to add comment