ARCComputingElement
ARC Computing Element
Leverage the arc Python library to interact with ARC gridftp services.
Configuration Parameters
Configuration for the ARCComputingElement submission can be done via the configuration system.
- ARCLogLevel:
Log level of the ARC logging library. Possible values are: DEBUG, VERBOSE, INFO, WARNING, ERROR, FATAL
- EndpointType:
Name of the protocol to use to interact with ARC services: Emies and Gridftp are supported. Gridftp communicates with gridftpd services providing authentication and encryption for file transfers. ARC developers are going to drop it in the future. Emies is another protocol that allows to interact with A-REX services that provide additional features (support of OIDC tokens).
- Host:
The host for the ARC CE, used to overwrite the CE name.
- Preamble:
Line that should be executed just before the executable file.
- WorkingDirectory:
Directory where the pilot log files are stored locally. For instance:
/opt/dirac/pro/runit/WorkloadManagement/SiteDirectorArc
- XRSLExtraString:
Default additional string for ARC submit files. Should be written in the following format:
(key = "value")
Please note that for ARC & ARC6, any times (such as wall or CPU time) in the XRSL should be specified in minutes. For AREX, these times should be given in seconds (see https://www.nordugrid.org/arc/arc6/users/xrsl.html?#cputime).
- XRSLMPExtraString:
Default additional string for ARC submit files for multi-processor jobs. Should be written in the following format:
(key = "value")
The XRSLExtraString note about times also applies to this configuration option.
Code Documentation
- class DIRAC.Resources.Computing.ARCComputingElement.ARCComputingElement(ceUniqueID)
Bases:
ComputingElement
- __init__(ceUniqueID)
Standard constructor.
Deprecated: ARC is deprecated and will be removed from v9.0. Please, use AREXComputingElement instead
- 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(**kwargs)
Method to get dynamic job information, can be overridden in sub-class.
- getDescription()
Get CE description as a dictionary.
This is called by the JobAgent for the case of “inner” CEs.
- getJobOutput(**kwargs)
- getJobStatus(**kwargs)
- 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
- killJob(**kwargs)
- loadBatchSystem(batchSystemName)
Instantiate object representing the backend batch system
- Parameters:
batchSystemName (str) – name of the 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
- setToken(token)
- shutdown()
Optional method to shutdown the (Inner) Computing Element
- submitJob(**kwargs)
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.ARCComputingElement.prepareProxyToken(func)
Decorator to set up proxy or token as necessary