OptimizerModule
The Optimizer base class is an agent that polls for jobs with a specific status and minor status pair. The checkJob method is overridden for all optimizer instances and associated actions are performed there.
- class DIRAC.WorkloadManagementSystem.Agent.OptimizerModule.OptimizerModule(*args, **kwargs)
Bases:
AgentModule
The specific agents must provide the following methods:
initialize() for initial settings
beginExecution()
execute() - the main method called in the agent cycle
endExecution()
- finalize() - the graceful exit of the method, this one is usually used
for the agent restart
- __init__(*args, **kwargs)
c’tor
- am_Enabled()
- am_checkStopAgentFile()
- am_createStopAgentFile()
- am_getControlDirectory()
- am_getCyclesDone()
- am_getMaxCycles()
- am_getModuleParam(optionName)
- am_getOption(optionName, defaultValue=None)
Gets an option from the agent’s configuration section. The section will be a subsection of the /Systems section in the CS.
- am_getPollingTime()
- am_getShifterProxyLocation()
- am_getStopAgentFile()
- am_getWatchdogTime()
- am_getWorkDirectory()
- am_go()
- am_initialize(*initArgs)
Common initialization for all the agents.
This is executed every time an agent (re)starts. This is called by the AgentReactor, should not be overridden.
- am_removeStopAgentFile()
- am_secureCall(functor, args=(), name=False)
- am_setModuleParam(optionName, value)
- am_setOption(optionName, value)
- am_stopExecution()
- beginExecution()
- checkJob(job, classad)
This method controls the checking of the job, should be overridden in a subclass
- endExecution()
- execute()
The main agent execution method
- finalize()
- getJobDefinition(job, jobDef=False)
Retrieve JDL of the Job and return jobDef dictionary
- getOptimizerJobInfo(job, reportName)
This method gets job optimizer information that will be used for
- initialize(jobDB=None, logDB=None)
Initialization of the Optimizer Agent.
- initializeOptimizer()
To be overwritten by inheriting class
- optimizeJob(job, classAdJob)
Call the corresponding Optimizer checkJob method
- sendAccountingRecord(job, msg, classAdJob)
Send and accounting record for the failed job
- setFailedJob(job, msg, classAdJob=None)
This method moves the job to the failed status
- setJobParam(job, reportName, value)
This method updates a job parameter in the JobDB.
- setNextOptimizer(job)
This method is executed when the optimizer instance has successfully processed the job. The next optimizer in the chain will subsequently start to work on the job.
- setOptimizerChain(job, value)
This method sets the job optimizer chain, in principle only needed by one of the optimizers.
- setOptimizerJobInfo(job, reportName, value)
This method sets the job optimizer information that will subsequently be used for job scheduling and TURL queries on the WN.
- updateJobStatus(job, status, minorStatus=None, appStatus=None)
This method updates the job status in the JobDB, this should only be used to fail jobs due to the optimizer chain.