def getNextPackageToBuild(): with Scheduler.lock: if Scheduler.stopScheduling: return None if not Scheduler.listOfPackagesToBuild: if Scheduler.event is not None: Scheduler.event.set() if Scheduler.listOfPackagesNextToBuild.empty(): Scheduler._getListNextPackagesReadyToBuild() if Scheduler.listOfPackagesNextToBuild.empty(): return None packageTup = Scheduler.listOfPackagesNextToBuild.get() package = packageTup[1] if not constants.startSchedulerServer and Scheduler.listOfPackagesNextToBuild.qsize( ) > 0: ThreadPool.activateWorkerThreads( Scheduler.listOfPackagesNextToBuild.qsize()) Scheduler.listOfPackagesCurrentlyBuilding.add(package) Scheduler.listOfPackagesToBuild.remove(package) return package
def getNextPackageToBuild(): Scheduler.logger.info("Waiting to acquire scheduler lock") with Scheduler.lock: if Scheduler.stopScheduling: return None if not Scheduler.listOfPackagesToBuild: if Scheduler.event is not None: Scheduler.event.set() if Scheduler.listOfPackagesNextToBuild.empty(): Scheduler._getListNextPackagesReadyToBuild() if Scheduler.listOfPackagesNextToBuild.empty(): return None packageTup = Scheduler.listOfPackagesNextToBuild.get() package = packageTup[1] Scheduler.logger.info("PackagesNextToBuild " + str(packageTup)) if Scheduler.listOfPackagesNextToBuild.qsize() > 0: ThreadPool.activateWorkerThreads( Scheduler.listOfPackagesNextToBuild.qsize()) Scheduler.listOfPackagesCurrentlyBuilding.add(package) Scheduler.listOfPackagesToBuild.remove(package) return package
def getNextPackageToBuild(): with Scheduler.lock: if Scheduler.stopScheduling: return None if not Scheduler.listOfPackagesToBuild: if Scheduler.event is not None: Scheduler.event.set() if Scheduler.listOfPackagesNextToBuild.empty(): Scheduler._getListNextPackagesReadyToBuild() if Scheduler.listOfPackagesNextToBuild.empty(): return None packageTup = Scheduler.listOfPackagesNextToBuild.get() package = packageTup[1] if Scheduler.listOfPackagesNextToBuild.qsize() > 0: ThreadPool.activateWorkerThreads( Scheduler.listOfPackagesNextToBuild.qsize()) Scheduler.listOfPackagesCurrentlyBuilding.add(package) Scheduler.listOfPackagesToBuild.remove(package) return package