diff options
| author | LV-426 <lv-426@taproot.org.il> | 2015-01-20 16:57:28 +0200 |
|---|---|---|
| committer | LV-426 <lv-426@taproot.org.il> | 2015-01-20 16:57:28 +0200 |
| commit | 111bebb03143cfb813959d382929f230d94d4288 (patch) | |
| tree | 90b83b030478b890e484a8709c9ebaced40b5fde /src/server | |
| parent | 25ea8213bbf5bb8b404696b9935550a667e940b4 (diff) | |
SIGINT interrupt handling
Diffstat (limited to 'src/server')
| -rw-r--r-- | src/server/rz_server.py | 16 |
1 files changed, 15 insertions, 1 deletions
diff --git a/src/server/rz_server.py b/src/server/rz_server.py index 68784338..2794da28 100644 --- a/src/server/rz_server.py +++ b/src/server/rz_server.py @@ -255,6 +255,15 @@ def init_config(cfg_dir): cfg = Config.init_from_file(cfg_path) return cfg + +def init_signal_handlers(): + + def signal_handler__exit(signum, frame): + log.info('received exit signal: SIGINT') + exit(0) + + signal.signal(signal.SIGINT, signal_handler__exit) + if __name__ == "__main__": p = argparse.ArgumentParser(description='rhizi-server') @@ -269,8 +278,13 @@ if __name__ == "__main__": if False == cfg.access_control: log.warn('access control disabled, all-granted access set on all URLs') + init_signal_handlers() + kernel = RZ_Kernel() webapp = init_webapp(cfg, kernel) ws_srv = init_ws_interface(cfg, kernel, webapp) - ws_srv.serve_forever() + try: + ws_srv.serve_forever() + except Exception as e: + log.exception(e) |
