InnerRPCClient

This module hosts the logic for executing an RPC call.

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

Bases: 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'
VAL_EXTRA_CREDENTIALS_HOST = 'hosts'
__init__(serviceName, **kwargs)

Constructor

Parameters:
  • 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.

Parameters:
  • functionName – name of the function

  • args – arguments to the function

Returns:

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

getDestinationService()

Return service destination

Returns:

str

getServiceName()

Return service name

Returns:

str