PushJobAgent

The Push Job Agent class inherits from Job Agent and aims to support job submission in

sites with no external connectivity (e.g. some supercomputers).

PushJobAgent options
PushJobAgent
{
  # VO treated (leave empty for auto-discovery)
  VO =
  # The DN of the certificate proxy used to submit pilots/jobs. If not found here, what is in Operations/Pilot section of the CS will be used
  PilotDN =
  # The group of the certificate proxy used to submit pilots/jobs. If not found here, what is in Operations/Pilot section of the CS will be used
  PilotGroup =

  # List of sites that will be treated by this PushJobAgent ("any" can refer to any Site defined in the CS)
  Site =
  # List of CE types that will be treated by this PushJobAgent ("any" can refer to any CE defined in the CS)
  CETypes =
  # List of CEs that will be treated by this PushJobAgent ("any" can refer to any CE type defined in the CS)
  CEs =

  # Max number of jobs to handle simultaneously
  MaxJobsToSubmit = 100
  # How many cycels to skip if queue is not working
  FailedQueueCycleFactor = 10
}
class DIRAC.WorkloadManagementSystem.Agent.PushJobAgent.PushJobAgent(agentName, loadName, baseAgentName=False, properties=None)

Bases: JobAgent

This agent runs on the DIRAC server side contrary to JobAgent, which runs on worker nodes. It fetches jobs, prepares them for sites with no external connectivity and submit locally. The remote execution is handled at the Workflow level

__init__(agentName, loadName, baseAgentName=False, properties=None)

Just defines some default parameters

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()

This is run at every cycles, as first thing. It gets site, CE and queue descriptions.

endExecution()
execute()

The JobAgent execution method.

finalize()

Job Agent finalization method

initialize()

Sets default parameters and creates CE instance