Support for cooperative signal handling of uvicorn v0.29.0

This commit is contained in:
grossmj committed 2024-04-03 15:58:10 +07:00
1 parent fd60bda2c2
commit 9b66d939d2
2 files changed
+7 -4

No files matched your search

+5 -1
View File
@@ -29,6 +29,7 @@ import gns3server.utils.get_resource
import os
import sys
import asyncio
def daemonize():
@@ -70,7 +71,10 @@ def main():
daemonize()
from gns3server.server import Server
Server().run()
try:
asyncio.run(Server().run())
except KeyboardInterrupt:
pass
if __name__ == "__main__":
+2 -3
View File
@@ -239,7 +239,7 @@ class Server:
log.critical("Can't write pid file %s: %s", path, str(e))
sys.exit(1)
def run(self):
async def run(self):
args = self._parse_arguments(sys.argv[1:])
@@ -333,8 +333,7 @@ class Server:
uvicorn_logger.propagate = False
server = uvicorn.Server(config)
loop = asyncio.get_event_loop()
loop.run_until_complete(server.serve())
await server.serve()
except Exception as e:
log.critical(f"Critical error while running the server: {e}", exc_info=1)