GatewayService¶
The gateway service is used for forwarding service calls to the appropriate services.
For this to be used, the following CS option is required:
DIRAC
{
Gateways
{
my.site.org = dips://thisIsAn.url.org:9159/Framework/Gateway
}
}
At the same time, this same gateway service should be run with option /LocalInstallation/Site which is different from “my.site.org” or whatever is set in the option above, to avoid initialization loops.
- class DIRAC.Core.DISET.private.GatewayService.GatewayService¶
Bases:
Service
Inherits from Service so it can (and should) be run as a DIRAC service, but replaces several of the internal methods
- GATEWAY_NAME = 'Framework/Gateway'¶
- SVC_SECLOG_CLIENT = <DIRAC.FrameworkSystem.Client.SecurityLogClient.SecurityLogClient object>¶
- SVC_VALID_ACTIONS = {'Connection': 'Message', 'FileTransfer': 'transfer', 'Message': 'msg', 'RPC': 'export'}¶
- __init__()¶
Initialize like a real service
- getConfig()¶
- handleConnection(clientTransport)¶
This method may be called by ServiceReactor. The method stacks openened connection in a queue, another thread read this queue and handle connection.
- Parameters
clientTransport – Object which describes opened connection (PlainTransport or SSLTransport)
- initialize()¶
This replaces the standard initialize from Service
- setCloneProcessId(cloneId)¶
- property wantsThrottle¶
Boolean property for if the service wants requests to stop being accepted
- class DIRAC.Core.DISET.private.GatewayService.MessageForwarder(msgBroker)¶
Bases:
object
- __init__(msgBroker)¶
- addClient(cliTrid, destination, clientInitParams, connectParams)¶
- cliDisconnect(cliTrid)¶
- msgFromClient(cliTrid, msgObj)¶
- msgFromSrv(srvEndCli, msgObj)¶
- class DIRAC.Core.DISET.private.GatewayService.TransferRelay(serviceName, **kwargs)¶
Bases:
TransferClient
- 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)
- errMsg(msg, dynMsg='')¶
- forwardBulkFromClient(clientFileHelper, params)¶
- forwardBulkToClient(clientFileHelper, params)¶
- forwardFromClient(clientFileHelper, params)¶
- forwardListBulk(clientFileHelper, params)¶
- forwardToClient(clientFileHelper, params)¶
- getDataFromClient(clientFileHelper)¶
- getDataFromService(srvMethod, params)¶
- getDestinationService()¶
Return service destination
- Returns
str
- getServiceName()¶
Return service name
- Returns
str
- infoMsg(msg, dynMsg='')¶
- listBulk(bulkId, token='', compress=True)¶
List the contents of a bulk
- Parameters
bulkId (any) – Identification of the bulk to list
token (string) – Token for the bulk
compress (boolean) – Enable compression for the bulk. By default its True
- Returns
S_OK/S_ERROR
- receiveBulk(destDir, bulkId, token='', compress=True)¶
Receive a bulk of files from server
- Parameters
destDir (list of ( string / file descriptor / file object )) – Files to receive from server
bulkId (any) – Identification of the files being received
token (string) – Token for the bulk
compress (boolean) – Enable compression for the bulk. By default its True
- Returns
S_OK/S_ERROR
- receiveFile(filename, fileId, token='')¶
Receive a file from the server
- Parameters
filename (string / file descriptor / file object) – File to receive from server
fileId (any) – Identification of the file being received
token (string) – Optional token for the file
- Returns
S_OK/S_ERROR
- sendBulk(fileList, bulkId, token='', compress=True, bulkSize=-1, onthefly=True)¶
Send a bulk of files to server
- Parameters
fileList (list of ( string / file descriptor / file object )) – Files to send to server
bulkId (any) – Identification of the files being sent
token (string) – Token for the bulk
compress (boolean) – Enable compression for the bulk. By default its True
bulkSize (integer) – Optional size of the bulk
- Returns
S_OK/S_ERROR
- sendDataToClient(clientFileHelper, dataToSend)¶
- sendDataToService(srvMethod, params, data)¶
- sendFile(filename, fileId, token='')¶
Send a file to server
- Parameters
filename (string / file descriptor / file object) – File to send to server
fileId (any) – Identification of the file being sent
token (string) – Optional token for the file
- Returns
S_OK/S_ERROR
- setTransferLimit(trLimit)¶