This module hosts the logic for executing an RPC call.

class DIRAC.Core.DISET.private.InnerRPCClient.InnerRPCClient(serviceName, **kwargs)

Bases: DIRAC.Core.DISET.private.BaseClient.BaseClient

This class instruments the BaseClient to perform RPC calls. At every RPC call, this class:

  • connects
  • proposes the action
  • sends the method parameters
  • retrieve the result
  • disconnect
KW_DELEGATED_DN = 'delegatedDN'
KW_DELEGATED_GROUP = 'delegatedGroup'
KW_EXTRA_CREDENTIALS = 'extraCredentials'
KW_IGNORE_GATEWAYS = 'ignoreGateways'
KW_KEEP_ALIVE_LAPSE = 'keepAliveLapse'
KW_PROXY_CHAIN = 'proxyChain'
KW_PROXY_LOCATION = 'proxyLocation'
KW_PROXY_STRING = 'proxyString'
KW_SETUP = 'setup'
KW_SKIP_CA_CHECK = 'skipCACheck'
KW_TIMEOUT = 'timeout'
KW_USE_CERTIFICATES = 'useCertificates'
KW_VO = 'VO'
__init__(serviceName, **kwargs)
  • serviceName – URL of the service (proper uri or just System/Component)
  • useCertificates – If set to True, use the server certificate
  • extraCredentials
  • timeout – Timeout of the call (default 600 s)
  • setup – Specify the Setup
  • VO – Specify the VO
  • delegatedDN – Not clear what it can be used for.
  • delegatedGroup – Not clear what it can be used for.
  • ignoreGateways – Ignore the DIRAC Gatways settings
  • proxyLocation – Specify the location of the proxy
  • proxyString – Specify the proxy string
  • proxyChain – Specify the proxy chain
  • skipCACheck – Do not check the CA
  • keepAliveLapse – Duration for keepAliveLapse (heartbeat like)
executeRPC(functionName, args)

Perform the RPC call, connect before and disconnect after.

  • functionName – name of the function
  • args – arguments to the function

in case of success, the return of the server call. In any case we add the connection stub to it.