From: Michael Tremer Date: Thu, 23 Jun 2022 10:52:53 +0000 (+0000) Subject: cli: Make all jobs async X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=fcec06408aef383413a2355bfa3a3f7221e844ea;p=pbs.git cli: Make all jobs async Signed-off-by: Michael Tremer --- diff --git a/src/scripts/pakfire-build-service b/src/scripts/pakfire-build-service index b64f8bf5..7dcc336f 100644 --- a/src/scripts/pakfire-build-service +++ b/src/scripts/pakfire-build-service @@ -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))