]> git.ipfire.org Git - ipfire-2.x.git/commitdiff
suricata-reporter: Make the number of workers configurable
authorMichael Tremer <michael.tremer@ipfire.org>
Wed, 6 Aug 2025 15:06:23 +0000 (16:06 +0100)
committerMichael Tremer <michael.tremer@ipfire.org>
Wed, 3 Sep 2025 17:42:00 +0000 (18:42 +0100)
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
config/suricata/suricata-reporter

index 8235373f98f12c033ace2b447958b3c3767b213f..fbbc0761c239098501816cea4cd6c66c68eaffa9 100644 (file)
@@ -60,7 +60,13 @@ class Reporter(object):
                self.config.read(config)
 
                # Fetch CPU count
-               cpu_count = multiprocessing.cpu_count()
+               workers = self.config.getint("DEFAULT", "workers",
+                       fallback=multiprocessing.cpu_count())
+
+               # Check if workers are a positive number
+               if workers < 1:
+                       log.error("Invalid number of workers: %s" % workers)
+                       raise SystemExit(1)
 
                # Fetch the current event loop
                self.loop = asyncio.get_running_loop()
@@ -73,7 +79,7 @@ class Reporter(object):
 
                # Create as many workers as we have processors
                self.workers = [
-                       Worker(reporter=self) for _ in range(cpu_count)
+                       Worker(reporter=self) for _ in range(workers)
                ]
 
                # Register any signals