StagingCallback

Callback when a staging operation is finished

class DIRAC.DataManagementSystem.Agent.RequestOperations.StagingCallback.StagingCallback(operation=None, csPath=None)

Bases: OperationHandlerBase

class StagingCallback

This performs the ‘Done’ callback to a job waiting for the staging to finish

Currently, we cannot store the JobID in the field reserved in the Request, because then our crapy finalization system will try updating the job (minor) status So we store the job ID in the Argument field of operation

__init__(operation=None, csPath=None)

c’tor

Parameters:
  • operation (Operation) – an Operation instance

  • csPath (str) – CS path for this handler

createRMSRecord(status, nbObject)

This method is used to create a record given some parameters for sending it to the ES backend. It is used inside DMS/Agent/RequestOperations and this method is designed particularly for file type of objects.

Parameters:
  • status – This can be one of these i.e. Attempted, Failed, or Successful.

  • nbObject – This is number of objects in question.

Returns:

a dictionary.

getProxyForLFN(lfn)

get proxy for lfn

Parameters:

lfn (str) – LFN

Returns:

S_ERROR or S_OK( “/path/to/proxy/file” )

getWaitingFilesList()

prepare waiting files list, update Attempt, filter out MaxAttempt

makeProperty(name, value, readOnly=False)

Add property :name: to class

This also creates a private :_name: attribute If you want to make read only property, set :readOnly: flag to True :warn: could raise AttributeError if :name: of :_name: is already defined as an attribute

classmethod rssClient()

ResourceStatusClient getter

rssSEStatus(se, status, retries=2)

check SE :se: for status :status:

Parameters:
  • se (str) – SE name

  • status (str) – RSS status

setOperation(operation)

operation and request setter

Parameters:

operation (Operation) – operation instance

Raises:

TypeError – if operation is not an instance of Operation

property shifter