]> git.ipfire.org Git - pbs.git/commitdiff
cli: Make all jobs async
authorMichael Tremer <michael.tremer@ipfire.org>
Thu, 23 Jun 2022 10:52:53 +0000 (10:52 +0000)
committerMichael Tremer <michael.tremer@ipfire.org>
Thu, 23 Jun 2022 10:52:53 +0000 (10:52 +0000)
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
src/scripts/pakfire-build-service

index b64f8bf5c0ffdc5b06f2d81cd139c95d0c48e785..7dcc336fe710d3bfb759c3765778c3006c7a9779 100644 (file)
@@ -1,5 +1,6 @@
 #!/usr/bin/python3
 
+import asyncio
 import sys
 
 # Use tornado's logging options
@@ -14,44 +15,47 @@ class Cli(object):
                self.backend = pakfire.buildservice.Backend(*args, **kwargs)
 
                self._commands = {
+                       # Bugzilla
+                       "bugzilla:version" : self.backend.bugzilla.version,
+
                        # Check build dependencies
-                       "check-build-dependencies" : self.backend.jobqueue.check_build_dependencies,
+                       #"check-build-dependencies" : self.backend.jobqueue.check_build_dependencies,
 
                        # Run mirror check
-                       "check-mirrors" : self.backend.mirrors.check,
+                       #"check-mirrors" : self.backend.mirrors.check,
 
                        # Cleanup files
-                       "cleanup-files" : self.backend.cleanup_files,
+                       #"cleanup-files" : self.backend.cleanup_files,
 
                        # Cleanup repositories
-                       "cleanup-repositories" : self.backend.repos.cleanup,
+                       #"cleanup-repositories" : self.backend.repos.cleanup,
 
                        # Cleanup sessions
-                       "cleanup-sessions" : self.backend.sessions.cleanup,
+                       #"cleanup-sessions" : self.backend.sessions.cleanup,
 
                        # Dist
-                       "dist" : self.backend.sources.dist,
+                       #"dist" : self.backend.sources.dist,
 
                        # List repository
-                       "list-repository" : self._list_repository,
+                       #"list-repository" : self._list_repository,
 
                        # Sends all queued messages
-                       "process-message-queue" : self.backend.messages.process_queue,
+                       #"process-message-queue" : self.backend.messages.process_queue,
 
                        # Pull sources
-                       "pull-sources" : self.backend.sources.pull,
+                       #"pull-sources" : self.backend.sources.pull,
 
                        # Remaster Repositories
-                       "remaster-repositories" : self.backend.repos.remaster,
+                       #"remaster-repositories" : self.backend.repos.remaster,
 
                        # Send bug updates to Bugzilla
-                       "send-bug-updates" : self.backend.bugzilla.send_all,
+                       #"send-bug-updates" : self.backend.bugzilla.send_all,
 
                        # Cleanup uploads
-                       "uploads:cleanup" : self.backend.uploads.cleanup,
+                       #"uploads:cleanup" : self.backend.uploads.cleanup,
                }
 
-       def __call__(self, *args):
+       async def __call__(self, *args):
                # Parse tornado settings
                args = tornado.options.parse_command_line(args)
 
@@ -70,7 +74,7 @@ class Cli(object):
                        return 2
 
                # Execute command
-               r = command(*args)
+               r = await command(*args)
 
                # Exit with error code
                sys.exit(r or 0)
@@ -101,7 +105,11 @@ class Cli(object):
                                for pkg in job:
                                        print(pkg)
 
-# main
 
-cli = Cli()
-cli(*sys.argv)
+if __name__ == "__main__":
+       cli = Cli()
+
+       # Create a new event loop
+       loop = asyncio.get_event_loop()
+
+       loop.run_until_complete(cli(*sys.argv))