# HG changeset patch # User Chaiwat Suttipongsakul # Date 1690644712 -25200 # Sat Jul 29 22:31:52 2023 +0700 # Node ID e489cb62d2d63e6f94d94d04d806ca97280fb426 # Parent 15d13a5b3768e953b07e6e42b750ca20ed61b8e3 use uvloop if available diff --git a/requirements.pip b/requirements.pip --- a/requirements.pip +++ b/requirements.pip @@ -1,2 +1,3 @@ aiosqlite +uvloop diff --git a/syslogd.py b/syslogd.py --- a/syslogd.py +++ b/syslogd.py @@ -27,6 +27,11 @@ from priority import SyslogMatrix from rfc5424 import convert_rfc5424_to_rfc3164 +try: + import uvloop +except ImportError: + uvloop = None + class SyslogUDPServer: syslog_matrix = SyslogMatrix() @@ -42,7 +47,7 @@ self.setup() if DEBUG: - print(f'Listening on UDP {host}:{port}') + print(f'Listening on UDP {host}:{port} using {self.loop.__module__}') def setup(self): if SQL_WRITE: @@ -208,8 +213,9 @@ if __name__ == "__main__": + loop = uvloop.new_event_loop() if uvloop else None try: - syslog_server = SyslogUDPServer(BINDING_IP, BINDING_PORT) + syslog_server = SyslogUDPServer(BINDING_IP, BINDING_PORT, loop) syslog_server.start() loop = syslog_server.loop