示例#1
0
	    lsfLogDir += '/%s' % now.strftime("%Y%m%d%H")
	    try:
	        os.mkdir(lsfLogDir)
	        logging.debug("Created directory %s" % lsfLogDir)
	    except OSError, err:
	        # suppress LSF log unless it's about an already exisiting directory
	        if err.errno != errno.EEXIST or not os.path.isdir(lsfLogDir):
	            logging.debug("Can't create directory %s, turning off LSF log" % lsfLogDir)
	            lsfLogDir = 'None'
	
	lsfSubmitCommand += ' -g %s' % LSFConfiguration.getGroup()
	if ( lsfLogDir == "None" ):
	    lsfSubmitCommand += ' -oo /dev/null'
	else:
	    lsfSubmitCommand += ' -oo %s/%s.lsf.log' % (lsfLogDir,'pilot')
	
	lsfSubmitCommand += ' < %s' % os.path.join(scriptPath, shellScript)
        
	failureList = []
	try:
            output = executeCommand(lsfSubmitCommand)
            logging.info("PilotManager.submitPilotJob: %s " % output)
	    logging.info("PilotManager.submitPilotJob: %s " %lsfSubmitCommand )
        except RuntimeError, err:
            failureList.append('jobSpec')

        if len(failureList) > 0:
            raise JSException("Submission Failed", FailureList = failureList)

registerManager(PilotLSFSubmitter, PilotLSFSubmitter.__name__)
示例#2
0
                self.bossLiteSession.updateDB( self.bossTask )

            lsfQueue = lsfConfig['Queue'] 
            lsfRsrReq = lsfConfig['Resource']
            requirements = '-q %s -g %s' % (lsfQueue, LSFConfiguration.getGroup() )
            requirements += ' -J %s' % taskName
            if ( lsfRsrReq is not None or lsfRsrReq != ""):
                requirements += " -R \"%s\"" % lsfRsrReq

            self.logger.debug( 'Now Submitting %s pilotjobs through BossInterface' % bulkSize)
            output = self.scheduler.submit(self.bossTask, requirements)
            self.logger.debug(output) 

            self.bossLiteSession.updateDB( self.bossTask ) 

        except: 
            self.logger.debug( 'error: %s' % sys.exc_info()[0])
            self.logger.debug( '%s:%s' % (sys.exc_info()[1], sys.exc_info()[2]) )
            traceback.print_exc(file=sys.stdout)
            raise Exception('pilotsubmissionfailed','pilot submission failed')


#for testing purpose
if __name__ == '__main__':
   args = {'cpCmd':'rfcp','rfioSer':''}
   pbsched = PilotBossSubmitter('LSF')
   pbsched.submitPilot('PilotJob','','','')

registerManager(PilotBossSubmitter, PilotBossSubmitter.__name__)