예제 #1
0
	def __init__(self, config, job_limit=-1, job_selector=None):
		JobDB.__init__(self, config, job_limit, job_selector)
		self._path_db = config.get_work_path('jobs')
		self._fmt = DictFormat(escape_strings=True)
		try:
			self._job_map = self._read_jobs(self._job_limit)
		except Exception:
			raise JobError('Unable to read stored job information!')
		if self._job_limit < 0 and len(self._job_map) > 0:
			self._job_limit = max(self._job_map) + 1
예제 #2
0
 def __init__(self, config, jobLimit=-1, jobSelector=None):
     JobDB.__init__(self, config, jobLimit, jobSelector)
     self._dbPath = config.getWorkPath('jobs')
     self._fmt = utils.DictFormat(escapeString=True)
     try:
         self._jobMap = self._readJobs(self._jobLimit)
     except Exception:
         raise JobError('Unable to read stored job information!')
     if self._jobLimit < 0 and len(self._jobMap) > 0:
         self._jobLimit = max(self._jobMap) + 1
예제 #3
0
 def __init__(self, config, job_limit=-1, job_selector=None):
     JobDB.__init__(self, config, job_limit, job_selector)
     self._path_db = config.get_work_path('jobs')
     self._fmt = DictFormat(escape_strings=True)
     try:
         self._job_map = self._read_jobs(self._job_limit)
     except Exception:
         raise JobError('Unable to read stored job information!')
     if self._job_limit < 0 and len(self._job_map) > 0:
         self._job_limit = max(self._job_map) + 1
예제 #4
0
	def __init__(self, config, jobLimit = -1, jobSelector = None):
		JobDB.__init__(self, config, jobLimit, jobSelector)
		self._dbPath = config.getWorkPath('jobs')
		self._fmt = utils.DictFormat(escapeString = True)
		try:
			self._jobMap = self._readJobs(self._jobLimit)
		except Exception:
			raise JobError('Unable to read stored job information!')
		if self._jobLimit < 0 and len(self._jobMap) > 0:
			self._jobLimit = max(self._jobMap) + 1
예제 #5
0
	def __init__(self, config):
		from grid_control.tasks import TaskModule
		newVerbosity = utils.verbosity(utils.verbosity() - 3)
		extConfigFN = config.getPath('source config')
		extConfig = createConfigFactory(extConfigFN).getConfig(setSections = ['global'])
		self.extWorkDir = extConfig.getWorkPath()
		self.extTask = extConfig.getPlugin(['task', 'module'], cls = TaskModule).getInstance()
		selector = config.get('source job selector', '')
		extJobDB = JobDB(extConfig, jobSelector = lambda jobNum, jobObj: jobObj.state == Job.SUCCESS)
		self.selected = sorted(extJobDB.getJobs(JobSelector.create(selector, task = self.extTask)))
		utils.verbosity(newVerbosity + 3)
예제 #6
0
	def __init__(self, config):
		InfoScanner.__init__(self, config)
		newVerbosity = utils.verbosity(utils.verbosity() - 3)
		extConfigFN = config.getPath('source config')
		extConfig = createConfig(extConfigFN).changeView(setSections = ['global'])
		self._extWorkDir = extConfig.getWorkPath()
		self._extTask = extConfig.getPlugin(['task', 'module'], cls = 'TaskModule')
		selector = config.get('source job selector', '')
		extJobDB = JobDB(extConfig, jobSelector = lambda jobNum, jobObj: jobObj.state == Job.SUCCESS)
		self._selected = sorted(extJobDB.getJobs(JobSelector.create(selector, task = self._extTask)))
		utils.verbosity(newVerbosity + 3)
예제 #7
0
	def __init__(self, config):
		InfoScanner.__init__(self, config)
		ext_config_fn = config.getPath('source config')
		ext_config = createConfig(ext_config_fn).changeView(setSections = ['global'])
		self._extWorkDir = ext_config.getWorkPath()
		logging.getLogger('user').disabled = True
		self._extWorkflow = ext_config.getPlugin('workflow', 'Workflow:global', cls = 'Workflow',
			pargs = ('task',))
		logging.getLogger('user').disabled = False
		self._extTask = self._extWorkflow.task
		selector = config.get('source job selector', '')
		ext_job_db = JobDB(ext_config, jobSelector = lambda jobNum, jobObj: jobObj.state == Job.SUCCESS)
		self._selected = sorted(ext_job_db.getJobs(JobSelector.create(selector, task = self._extTask)))
예제 #8
0
 def __init__(self, config):
     InfoScanner.__init__(self, config)
     newVerbosity = utils.verbosity(utils.verbosity() - 3)
     extConfigFN = config.getPath('source config')
     extConfig = createConfig(extConfigFN).changeView(
         setSections=['global'])
     self._extWorkDir = extConfig.getWorkPath()
     self._extTask = extConfig.getPlugin(['task', 'module'],
                                         cls='TaskModule')
     selector = config.get('source job selector', '')
     extJobDB = JobDB(
         extConfig,
         jobSelector=lambda jobNum, jobObj: jobObj.state == Job.SUCCESS)
     self._selected = sorted(
         extJobDB.getJobs(JobSelector.create(selector, task=self._extTask)))
     utils.verbosity(newVerbosity + 3)
예제 #9
0
def initGC(args):
	if len(args) > 0:
		config = getConfig(args[0])
		userSelector = None
		if len(args) != 1:
			userSelector = JobSelector.create(args[1])
		return (config, JobDB(config, jobSelector = userSelector))
	sys.stderr.write('Syntax: %s <config file> [<job id>, ...]\n\n' % sys.argv[0])
	sys.exit(os.EX_USAGE)
예제 #10
0
 def __init__(self, config):
     InfoScanner.__init__(self, config)
     ext_config_fn = config.getPath('source config')
     ext_config = createConfig(ext_config_fn).changeView(
         setSections=['global'])
     self._extWorkDir = ext_config.getWorkPath()
     logging.getLogger('user').disabled = True
     self._extWorkflow = ext_config.getPlugin('workflow',
                                              'Workflow:global',
                                              cls='Workflow',
                                              pargs=('task', ))
     logging.getLogger('user').disabled = False
     self._extTask = self._extWorkflow.task
     selector = config.get('source job selector', '')
     ext_job_db = JobDB(
         ext_config,
         jobSelector=lambda jobNum, jobObj: jobObj.state == Job.SUCCESS)
     self._selected = sorted(
         ext_job_db.getJobs(JobSelector.create(selector,
                                               task=self._extTask)))
예제 #11
0
	def __init__(self, config, jobLimit = -1, jobSelector = None):
		dbPath = config.getWorkPath('jobs')
		self._dbFile = config.getWorkPath('jobs.zip')
		if os.path.exists(dbPath) and os.path.isdir(dbPath) and not os.path.exists(self._dbFile):
			activity = utils.ActivityLog('Converting job database...')
			self._serial = 0
			try:
				oldDB = JobDB(config)
				oldDB.readJobs(-1)
				for jobNum in oldDB.getJobs():
					self.commit(jobNum, oldDB.get(jobNum))
			except Exception:
				utils.removeFiles([self._dbFile])
				raise
			activity.finish()

		ZippedJobDB.__init__(self, config, jobLimit, jobSelector)
예제 #12
0
	def __init__(self, config, jobLimit = -1, jobSelector = None):
		self._dbFile = config.getWorkPath('jobs.zip')
		JobDB.__init__(self, config, jobLimit, jobSelector)