DataStoreHandler

DataStore is the service for inserting accounting reports (rows) in the Accounting DB

This service CAN be duplicated iff the first is a “master” and all the others are slaves. See the information about DataStore Helpers.

DataStore options
DataStore
{
  Port = 9133
  # Run compaction, has to be True for Master, False for others
  RunBucketing = True
  Authorization
  {
    Default = authenticated
    compactDB = ServiceAdministrator
    deleteType = ServiceAdministrator
    registerType = ServiceAdministrator
    setBucketsLength = ServiceAdministrator
    regenerateBuckets = ServiceAdministrator
  }
}
class DIRAC.AccountingSystem.Service.DataStoreHandler.DataStoreHandler(handlerInitDict, trid)

Bases: RequestHandler

DISET implementation of service for inserting records in accountingDB.

__init__(handlerInitDict, trid)

Constructor

Parameters:
  • handlerInitDict (dictionary) – Information vars for the service

  • trid (object) – Transport to use

auth_ping = ['all']
auth_refreshConfiguration = ['CSAdministrator']
auth_whoami = ['all']
export_commit(typeName, startTime, endTime, valuesList)

Add a record for a type

export_commitRegisters(entriesList)

Add a record for a type

export_compactDB()

Compact the db by grouping buckets

export_deleteType(typeName)

Delete accounting type and ALL its contents. VERY DANGEROUS! (Only for all powerful admins) (Bow before me for I am admin! :)

static export_echo(data)

This method is used for testing performance of the service

Parameters:

data (str) – data to be sent back to the caller

Returns:

S_OK, Value is the input data

export_getRegisteredTypes()

Get a list of registered types (Only for all powerful admins) (Bow before me for I am admin! :)

export_ping()
static export_refreshConfiguration(fromMaster)

Force refreshing the configuration data

Parameters:

fromMaster (bool) – flag to refresh from the master configuration service

export_regenerateBuckets(typeName)

Recalculate buckets. (Only for all powerful admins) (Bow before me for I am admin! :)

export_registerType(typeName, definitionKeyFields, definitionAccountingFields, bucketsLength)

Register a new type. (Only for all powerful admins) (Bow before me for I am admin! :)

export_remove(typeName, startTime, endTime, valuesList)

Remove a record for a type

export_removeRegisters(entriesList)

Remove a record for a type

export_setBucketsLength(typeName, bucketsLength)

Change the buckets Length. (Only for all powerful admins) (Bow before me for I am admin! :)

export_whoami()

A simple whoami, returns all credential dictionary, except certificate chain object.

classmethod getCSOption(optionName, defaultValue=False)

Get an option from the CS section of the services

Returns:

Value for serviceSection/optionName in the CS being defaultValue the default

getRemoteAddress()

Get the address of the remote peer.

Returns:

Address of remote peer.

getRemoteCredentials()

Get the credentials of the remote peer.

Returns:

Credentials dictionary of remote peer.

initialize()

Initialize this instance of the handler (to be overwritten)

classmethod initializeHandler(svcInfoDict)
srv_disconnect(trid=None)
classmethod srv_disconnectClient(trid)
srv_getActionTuple()
classmethod srv_getCSOption(optionName, defaultValue=False)

Get an option from the CS section of the services

Returns:

Value for serviceSection/optionName in the CS being defaultValue the default

srv_getClientSetup()
srv_getClientVO()
srv_getClientVersion()
srv_getFormattedRemoteCredentials()
classmethod srv_getMonitor()
srv_getRemoteAddress()

Get the address of the remote peer.

Returns:

Address of remote peer.

srv_getRemoteCredentials()

Get the credentials of the remote peer.

Returns:

Credentials dictionary of remote peer.

classmethod srv_getServiceName()
srv_getTransportID()
classmethod srv_getURL()
classmethod srv_msgCreate(msgName)
srv_msgReply(msgObj)
classmethod srv_msgSend(trid, msgObj)
transfer_bulkFromClient(bulkId, token, bulkSize, fileHelper)
transfer_bulkToClient(bulkId, token, fileHelper)
transfer_fromClient(fileId, token, fileSize, fileHelper)
transfer_listBulk(bulkId, token, fileHelper)
transfer_toClient(fileId, token, fileHelper)
types_commit = [<class 'str'>, <class 'datetime.datetime'>, <class 'datetime.datetime'>, <class 'list'>]
types_commitRegisters = [<class 'list'>]
types_compactDB = []
types_deleteType = [<class 'str'>]
types_echo = [<class 'str'>]
types_getRegisteredTypes = []
types_ping = []
types_refreshConfiguration = [<class 'bool'>]
types_regenerateBuckets = [<class 'str'>]
types_registerType = [<class 'str'>, <class 'list'>, <class 'list'>, <class 'list'>]
types_remove = [<class 'str'>, <class 'datetime.datetime'>, <class 'datetime.datetime'>, <class 'list'>]
types_removeRegisters = [<class 'list'>]
types_setBucketsLength = [<class 'str'>, <class 'list'>]
types_whoami = []