Advertisement
Guest User

Untitled

a guest
Jun 7th, 2016
75
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.64 KB | None | 0 0
  1. require 'amqp'
  2. module HiringThingEM
  3. def self.start
  4. if defined?(PhusionPassenger)
  5. PhusionPassenger.on_event(:starting_worker_process) do |forked|
  6. if forked && EM.reactor_running?
  7. EM.stop
  8. end
  9. Thread.new {
  10. EM.run do
  11. AMQP.channel ||= AMQP::Channel.new(AMQP.connect(:host=> Q_SERVER, :user=> Q_USER, :pass => Q_PASS, :vhost => Q_VHOST ))
  12. end
  13. }
  14. die_gracefully_on_signal
  15. end
  16. end
  17. end
  18.  
  19. def self.die_gracefully_on_signal
  20. Signal.trap("INT") { EM.stop }
  21. Signal.trap("TERM") { EM.stop }
  22. end
  23. end
  24.  
  25. HiringThingEM.start
  26. EM.next_tick { AMQP.channel.queue(Q_Q).publish("hi mom") }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement