def removeFinishedJobs(cls, group): """ remove all finished jobs from a specific group. jobs assigned: all jobs in the group """ try: session = BossLitePoolDB( "MySQL", pool=cls.params['sessionPool'] ) db = TrackingDB( session ) joblist = db.getAssociatedJobs() # in case of empty results if joblist is None: logging.debug( "No finished jobs to be removed from query queues" ) return for pair in joblist: db.removeFromCheck( group, pair[0], pair[1], ) #logging.debug( # "Removing jobs for group " + str(group) \ # + " with BOSS id " + str( pair[0] ) + '.' \ # + str( pair[1] )\ # ) logging.debug("Removed jobs from group %s" % str(group) ) session.close() del( joblist ) except BossLiteError, ex: logging.error( 'Failed to remove jobs from queues: %s ' % ex )
def addNewJobs(cls): """ include new jobs in the set of jobs to be watched for. jobs assigned: all new jobs. """ try: session = BossLitePoolDB( "MySQL", pool=cls.params['sessionPool'] ) db = TrackingDB( session ) joblist = db.getUnassociatedJobs() # in case of empty results if joblist is None: logging.debug( "No new jobs to be added in query queues") return for pair in joblist: db.addForCheck( pair[0], pair[1] ) #logging.debug(\ # "Adding jobs to queue with BOSS id "\ # + str( pair[0] ) + '.' + str( pair[1] )\ # ) session.close() del( joblist ) except BossLiteError, ex: logging.error( 'Failed to remove jobs from queues: %s ' % ex )