signals.py 445 B

12345678910111213141516171819202122232425
  1. from __future__ import absolute_import
  2. from __future__ import unicode_literals
  3. import signal
  4. class ShutdownException(Exception):
  5. pass
  6. class CascadeStopException(Exception):
  7. pass
  8. def shutdown(signal, frame):
  9. raise ShutdownException()
  10. def set_signal_handler(handler):
  11. signal.signal(signal.SIGINT, handler)
  12. signal.signal(signal.SIGTERM, handler)
  13. def set_signal_handler_to_shutdown():
  14. set_signal_handler(shutdown)