CacheFeederAgent

CacheFeederAgent

This agent feeds the Cache tables with the outputs of the cache commands.

CacheFeederAgent options
CacheFeederAgent
{
  #Time between cycles in seconds
  PollingTime = 900

  # Shifter to use by the commands invoked
  shifterProxy = DataManager
}
class DIRAC.ResourceStatusSystem.Agent.CacheFeederAgent.CacheFeederAgent(*args, **kwargs)

Bases: AgentModule

The CacheFeederAgent feeds the cache tables for the client and the accounting. It runs periodically a set of commands, and stores it’s results on the tables.

__init__(*args, **kwargs)

Common __init__ method for all Agents. All Agent modules must define: __doc__

They are used to populate __codeProperties

The following Options are used from the Configuration: - /DIRAC/Setup - Status - Enabled - PollingTime default = 120 - MaxCycles default = 500 - WatchdogTime default = 0 (disabled) - ControlDirectory control/SystemName/AgentName - WorkDirectory work/SystemName/AgentName - shifterProxy ‘’ - shifterProxyLocation WorkDirectory/SystemName/AgentName/.shifterCred

It defines the following default Options that can be set via Configuration (above): - MonitoringEnabled True - Enabled True if Status == Active - PollingTime 120 - MaxCycles 500 - ControlDirectory control/SystemName/AgentName - WorkDirectory work/SystemName/AgentName - shifterProxy False - shifterProxyLocation work/SystemName/AgentName/.shifterCred

different defaults can be set in the initialize() method of the Agent using am_setOption()

In order to get a shifter proxy in the environment during the execute() the configuration Option ‘shifterProxy’ must be set, a default may be given in the initialize() method.

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

Just executes, via loadCommand, the commands in self.commands one after the other

finalize()
initialize()

Define the commands to be executed, and instantiate the clients that will be used.

loadCommand(commandModule, commandDict)

Loads and executes commands.

Parameters:
  • commandModule (str) – Name of the command (e.g. ‘Downtime’)

  • commandDict (dict) – dictionary of {‘CommandClass’:{arguments}}