TransformationClient
Class that contains client access to the transformation DB handler.
- class DIRAC.TransformationSystem.Client.TransformationClient.TransformationClient(**kwargs)
Bases:
DIRAC.Core.Base.Client.Client
Exposes the functionality available in the DIRAC/TransformationManagerHandler
This inherits the DIRAC base Client for direct execution of server functionality. The following methods are available (although not visible here).
Transformation (table) manipulation
deleteTransformation(transName) getTransformationParameters(transName,paramNames) getTransformationWithStatus(status) setTransformationParameter(transName,paramName,paramValue) deleteTransformationParameter(transName,paramName)
TransformationFiles table manipulation
addFilesToTransformation(transName,lfns) addTaskForTransformation(transName,lfns=[],se=’Unknown’) getTransformationStats(transName)
TransformationTasks table manipulation
setTaskStatus(transName, taskID, status) setTaskStatusAndWmsID(transName, taskID, status, taskWmsID) getTransformationTaskStats(transName) deleteTasks(transName, taskMin, taskMax) extendTransformation( transName, nTasks) getTasksToSubmit(transName,numTasks,site=’’)
TransformationLogging table manipulation
getTransformationLogging(transName)
File/directory manipulation methods (the remainder of the interface can be found below)
getFileSummary(lfns) exists(lfns)
Web monitoring tools
getDistinctAttributeValues(attribute, selectDict) getTransformationStatusCounters() getTransformationSummary() getTransformationSummaryWeb(selectDict, sortList, startItem, maxItems)
- __init__(**kwargs)
Simple constructor
- addDirectory(path, force=False)
- addTransformation(transName, description, longDescription, transType, plugin, agentType, fileMask, transformationGroup='General', groupSize=1, inheritedFrom=0, body='', maxTasks=0, eventsPerTask=0, addFiles=True, inputMetaQuery=None, outputMetaQuery=None, timeout=1800)
add a new transformation
- property call
To be removed once we’re sure self.call has been removed
- Type
Deprecated
- cleanTransformation(transID)
Clean the transformation, and set the status parameter (doing it here, for easier extensibility)
- executeRPC(*parms, **kws)
This method extracts some parameters from kwargs that are used as parameter of the constructor or RPCClient. Unfortunately, only a few of all the available parameters of BaseClient are exposed.
- Parameters
rpc – if an RPC client is passed, use that one
timeout – we can change the timeout on a per call bases. Default is self.timeout
url – We can specify which url to use
- getClientKWArgs()
Returns a copy of the connection arguments
- getCounters(table, attrList, condDict, older=None, newer=None, timeStamp=None)
- getServer()
Getter for the server url. Useful ?
- getTransformation(transName, extraParams=False)
- getTransformationFiles(condDict=None, older=None, newer=None, timeStamp=None, orderAttribute=None, limit=None, timeout=1800, offset=0, maxfiles=None)
gets all the transformation files for a transformation, incrementally. “limit” here is just used to determine the offset.
- getTransformationTasks(condDict=None, older=None, newer=None, timeStamp=None, orderAttribute=None, limit=10000, inputVector=False)
gets all the transformation tasks for a transformation, incrementally. “limit” here is just used to determine the offset.
- getTransformations(condDict=None, older=None, newer=None, timeStamp=None, orderAttribute=None, limit=100, extraParams=False, columns=None)
gets all the transformations in the system, incrementally. “limit” here is just used to determine the offset.
- httpsClient
alias of
DIRAC.Core.Tornado.Client.TornadoClient.TornadoClient
- isOK()
- moveFilesToDerivedTransformation(transDict, resetUnused=True)
move files input to a transformation, to the derived one
- setFileStatusForTransformation(transName, newLFNsStatus=None, lfns=None, force=False)
Sets the file status for LFNs of a transformation
For backward compatibility purposes, the status and LFNs can be passed in 2 ways:
newLFNsStatus is a dictionary with the form: {‘/this/is/an/lfn1.txt’: ‘StatusA’, ‘/this/is/an/lfn2.txt’: ‘StatusB’, … } and at this point lfns is not considered
newLFNStatus is a string, that applies to all the LFNs in lfns
- setServer(url)
Set the server URL used by default
- Parameters
url – url of the service
- setTransformationParameter(transID, paramName, paramValue, force=False, currentStatus=None)
Sets a transformation parameter. There’s a special case when coming to setting the status of a transformation.
- Parameters
currentStatus – if set, make sure the status did not change in the DB before setting it
- startTransformation(transID)
Start the transformation
- stopTransformation(transID)
Stop the transformation