| 1 | import os |
| 2 | import sys |
| 3 | from helpers import runtime |
| 4 | from helpers.print_style import PrintStyle |
| 5 | |
| 6 | _server = None |
| 7 | |
| 8 | def set_server(server): |
| 9 | global _server |
| 10 | _server = server |
| 11 | |
| 12 | def get_server(server): |
| 13 | global _server |
| 14 | return _server |
| 15 | |
| 16 | def stop_server(): |
| 17 | global _server |
| 18 | if _server: |
| 19 | _server.shutdown() |
| 20 | _server = None |
| 21 | |
| 22 | def reload(): |
| 23 | stop_server() |
| 24 | if runtime.is_dockerized(): |
| 25 | exit_process() |
| 26 | else: |
| 27 | restart_process() |
| 28 | |
| 29 | def restart_process(): |
| 30 | PrintStyle.standard("Restarting process...") |
| 31 | python = sys.executable |
| 32 | os.execv(python, [python] + sys.argv) |
| 33 | |
| 34 | def exit_process(): |
| 35 | PrintStyle.standard("Exiting process...") |
| 36 | sys.exit(0) |