3. XRootD.client.CopyProcess: Copying files

3.1. Class Reference

class XRootD.client.CopyProcess[source]

Add multiple individually-configurable copy jobs to a “copy process” and run them in parallel (yes, in parallel, because xrootd isn’t limited by the GIL.

3.1.1. Methods

CopyProcess.add_job(source, target, sourcelimit=1, force=False, posc=False, coerce=False, mkdir=False, thirdparty='none', checksummode='none', checksumtype='', checksumpreset='', dynamicsource=False, chunksize=8388608, parallelchunks=4, inittimeout=600, tpctimeout=1800, rmBadCksum=False, cptimeout=0, xrateThreshold=0, xrate=0, retry=0, cont=False, rtrplc='force')[source]

Add a job to the copy process.

Parameters:
  • source (string) – original source URL

  • target (string) – target directory or file

  • sourcelimit (integer) – max number of download sources

  • force (boolean) – overwrite target if it exists

  • posc (boolean) – persist on successful close

  • coerce (boolean) – ignore file usage rules, i.e. apply FORCE flag to open()

  • mkdir (boolean) – create the parent directories when creating a file

  • thirdparty (string) – third party copy mode

  • checksummode (string) – checksum mode to be used

  • checksumtype (string) – type of the checksum to be computed

  • checksumpreset (string) – pre-set checksum instead of computing it

  • dynamicsource (boolean) – read as much data from source as is available without checking the size

  • chunksize (integer) – chunk size for remote transfers

  • parallelchunks (integer) – number of chunks that should be requested in parallel

  • inittimeout (integer) – copy initialization timeout

  • tpctimeout (integer) – timeout for a third-party copy to finish

  • rmBadCksum (boolean) – remove target file on bad checksum

  • cptimeout (integer) – timeout for classic cp operation

  • xrateThreshold (integer) – data transfer rate threshold

  • xrate (integer) – data transfer rate limit

  • retry (integer) – number of retries

  • cont (boolean) – continue copying a file from the point where the previous copy was interrupted

  • rtrplc (string) – the retry polic (force or continue)

CopyProcess.prepare()[source]

Prepare the copy jobs. Must be called before run().

CopyProcess.run(handler=None)[source]

Run the copy jobs with an optional progress handler.

Parameters:

handler – a copy progress handler. You can subclass XRootD.client.utils.CopyProgressHandler and implement the three methods (begin(), progress() and end() ) to get regular progress updates for your copy jobs.