JobScheduling
The Job Scheduling Executor takes the information gained from all previous optimizers and makes a scheduling decision for the jobs.
Subsequent to this jobs are added into a Task Queue and pilot agents can be submitted.
All issues preventing the successful resolution of a site candidate are discovered here where all information is available.
This Executor will fail affected jobs meaningfully.
- class DIRAC.WorkloadManagementSystem.Executor.JobScheduling.JobScheduling
Bases:
OptimizerExecutor
The specific Optimizer must provide the following methods: - optimizeJob() - the main method called for each job and it can provide: - initializeOptimizer() before each execution cycle
- 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()
Initialization of the optimizer.
- isTaskFrozen()
- property jobLog
- optimizeJob(jid, jobState)
Banned sites are removed from the destination list.
Get input files
Production jobs are sent directly to TQ
Check if staging is necessary
- processTask(jid, jobState)
- retrieveOptimizerParam(name)
- serializeTask(cjs)
- setNextOptimizer(jobState=None)
- storeOptimizerParam(name, value)