]> git.ipfire.org Git - pakfire.git/commitdiff
daemon: Close queue connection immediately when shutting down
authorMichael Tremer <michael.tremer@ipfire.org>
Fri, 27 May 2022 08:57:45 +0000 (08:57 +0000)
committerMichael Tremer <michael.tremer@ipfire.org>
Fri, 27 May 2022 08:57:45 +0000 (08:57 +0000)
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
src/pakfire/daemon.py

index 35d7c9c15db0767e748e7c831109a247a07f5a7e..e0acaa48f2076fa0954e41a779a6b6c16765af5b 100644 (file)
@@ -49,6 +49,7 @@ class Daemon(object):
 
                # Connect to the Pakfire Hub
                self.hub = self.connect_to_hub()
+               self.queue = None
 
                # Indicates if this daemon is in running mode.
                self.__running = True
@@ -80,7 +81,7 @@ class Daemon(object):
                await self.hub.send_builder_info()
 
                # Join the job queue
-               await self.hub.queue(self.job_received)
+               self.queue = await self.hub.queue(self.job_received)
 
                # Run main loop
                while self.__running:
@@ -103,6 +104,10 @@ class Daemon(object):
                self.log.info(_("Shutting down..."))
                self.__running = False
 
+               # Close queue connection so we won't receive any new jobs
+               if self.queue:
+                       self.queue.close()
+
        def spawn_worker(self, *args, **kwargs):
                """
                        Spawns a new worker process.