ArchiveFiles

RequestOperation to create a tarball from a list of LFNs.

Download a list of files to local storage, then tars it and uploads it to a StorageElement

This operation requires the following arguments:

  • ArchiveLFN: The LFN of the tarball

  • SourceSE: Where the files to be archived are downloaded from

  • TarballSE: Where the tarball will be uploaded to

  • RegisterDescendent: If True the tarball will be registered as a descendent of the LFNs

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

Bases: OperationHandlerBase

ArchiveFiles operation handler.

__init__(operation=None, csPath=None)

Initialize the ArchifeFiles handler.

Parameters:
  • self – self reference

  • operation (Operation) – Operation instance

  • csPath (string) – 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