ComputingElement

The Computing Element class is a base class for all the various types CEs. It serves several purposes:

  • collects general CE related parameters to generate CE description for the job matching
  • provides logic for evaluation of the number of available CPU slots
  • provides logic for the proxy renewal while executing jobs

The CE parameters are collected from the following sources, in hierarchy descending order:

  • parameters provided through setParameters() method of the class
  • parameters in /LocalSite configuration section
  • parameters in /LocalSite/<ceName>/ResourceDict configuration section
  • parameters in /LocalSite/ResourceDict configuration section
  • parameters in /LocalSite/<ceName> configuration section
  • parameters in /Resources/Computing/<ceName> configuration section
  • parameters in /Resources/Computing/CEDefaults configuration section

The ComputingElement objects are usually instantiated with the help of ComputingElementFactory.

class DIRAC.Resources.Computing.ComputingElement.ComputingElement(ceName)

Bases: object

ComputingElement base class

__init__(ceName)

Standard constructor

available(jobIDList=None)

This method returns the number of available slots in the target CE. The CE instance polls for waiting and running jobs and compares to the limits in the CE parameters.

Parameters:jobIDList (list) – list of already existing job IDs to be checked against
getCEStatus(jobIDList=None)

Method to get dynamic job information, can be overridden in sub-class.

getDescription()

Get CE description as a dictionary

getParameterDict()

Get the CE complete parameter dictionary

initializeParameters()

Initialize the CE parameters after they are collected from various sources

isProxyValid(valid=1000)

Check if the stored proxy is valid

isValid()

Check the sanity of the Computing Element definition

loadBatchSystem()

Instantiate object representing the backend batch system

sendOutput(stdid, line)

Callback function such that the results from the CE may be returned.

setCPUTimeLeft(cpuTimeLeft=None)

Update the CPUTime parameter of the CE classAd, necessary for running in filling mode

setParameters(ceOptions)

Add parameters from the given dictionary overriding the previous values

Parameters:ceOptions (dict) – CE parameters dictionary to update already defined ones
setProxy(proxy, valid=0)

Set proxy for this instance

submitJob(executableFile, proxy, dummy=None, processors=1)

Method to submit job, should be overridden in sub-class.

writeProxyToFile(proxy)

CE helper function to write a CE proxy string to a file.

DIRAC.Resources.Computing.ComputingElement.getCEConfigDict(ceName)

Look into LocalSite for configuration Parameters for this CE