]> git.ipfire.org Git - pbs.git/commitdiff
backend: Define background tasks here
authorMichael Tremer <michael.tremer@ipfire.org>
Sat, 9 Sep 2023 13:45:56 +0000 (13:45 +0000)
committerMichael Tremer <michael.tremer@ipfire.org>
Sat, 9 Sep 2023 13:45:56 +0000 (13:45 +0000)
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
src/buildservice/__init__.py
src/web/__init__.py

index aae8535204a5ffb6845455288b58e59fa96db38b..5e9151b829a3006df84934ae28fa085a884e9c26 100644 (file)
@@ -97,6 +97,20 @@ class Backend(object):
 
                log.info("Pakfire Build Service initialized at %s" % self.basepath)
 
+       def launch_background_tasks(self):
+               # Launch some initial tasks
+               self.run_task(self.users.generate_vapid_keys)
+               self.run_task(self.builders.autoscale)
+
+               # Regularly check the mirrors
+               self.run_periodic_task(300, self.mirrors.check)
+
+               # Regularly fetch sources
+               self.run_periodic_task(300, self.sources.fetch)
+
+               # Regularly check for new releases
+               self.run_periodic_task(300, self.monitorings.check)
+
        def read_config(self, path):
                c = configparser.ConfigParser()
 
index 4da396ba22ce24f6d521e9f89bf0cabd544d8440..c2711df71faa19ba5a94ec879dc507d5600742f9 100644 (file)
@@ -255,24 +255,12 @@ class Application(tornado.web.Application):
                                uploads.APIv1DetailHandler),
                ], default_handler_class=errors.Error404Handler, **settings)
 
-               # Launch backend
+               # Launch backend & background tasks
                self.backend = Backend("/etc/pakfire/pbs.conf")
+               self.backend.launch_background_tasks()
 
                logging.info("Successfully initialied application")
 
-               # Launch some initial tasks
-               self.backend.run_task(self.backend.users.generate_vapid_keys)
-               self.backend.run_task(self.backend.builders.autoscale)
-
-               # Regularly check the mirrors
-               self.backend.run_periodic_task(300, self.backend.mirrors.check)
-
-               # Regularly fetch sources
-               self.backend.run_periodic_task(300, self.backend.sources.fetch)
-
-               # Regularly check for new releases
-               self.backend.run_periodic_task(300, self.backend.monitorings.check)
-
        ## UI methods
 
        def extract_hostname(self, handler, url):