InputData

The InputData Optimizer Executor queries the file catalog for specified job input data and adds the relevant information to the job optimizer parameters to be used during the scheduling decision.

class DIRAC.WorkloadManagementSystem.Executor.InputData.InputData

Bases: DIRAC.WorkloadManagementSystem.Executor.Base.OptimizerExecutor.OptimizerExecutor

The specific Optimizer must provide the following methods:
  • initializeOptimizer() before each execution cycle
  • optimizeJob() - the main method called for each job
class JobLog(log, jid)
class LogWrap(log, jid, funcName)
__init__(log, jid, funcName)
__init__(log, jid)
__init__

x.__init__(…) initializes x; see help(type(x)) for signature

deserializeTask(taskStub)
disableFastTrackForTask()
classmethod ex_enabled()
classmethod ex_getExtraArguments()
classmethod ex_getMind()
classmethod ex_getOption(optName, defaultValue=None)
classmethod ex_getProperty(optName)
classmethod ex_optimizerName()
classmethod ex_setMind(mindName, **extraArgs)
classmethod ex_setOption(optName, value)
classmethod ex_setProperty(optName, value)
fastTrackDispatch(jid, jobState)
freezeTask(freezeTime)
classmethod initialize()
classmethod initializeOptimizer()

Initialize specific parameters for InputData executor.

isTaskFrozen()
jobLog
optimizeJob(jid, jobState)

This is the method that needs to be implemented by each and every Executor

This optimizer will run if and only if it is needed:
  • it will run only if there are input files
  • for production jobs this can be skipped, since the logic is already applied by the transformation system, via the TaskManagerPlugins
processTask(jid, jobState)
retrieveOptimizerParam(name)
serializeTask(cjs)
setNextOptimizer(jobState=None)
storeOptimizerParam(name, value)