Skip to content

Globus

GlobusTransferTool(external_host, logger=logging.log, group_bulk=200, group_policy='single')

Globus implementation of Transfertool abstract base class

Initializes the transfertool

Parameters:

Name Type Description Default
external_host

The external host where the transfertool API is running

required

submit_one(files, timeout=None)

Submit transfers to globus API

Parameters:

Name Type Description Default
files

List of dictionaries describing the file transfers.

required
job_params

Dictionary containing key/value pairs, for all transfers.

required
timeout

Timeout in seconds.

None

Returns:

Type Description

Globus transfer identifier.

submit(transfers, job_params, timeout=None)

Submit a bulk transfer to globus API

Parameters:

Name Type Description Default
transfers

List of dictionaries describing the file transfers.

required
job_params

Not used by Globus Transfsertool

required
timeout

Timeout in seconds.

None

Returns:

Type Description

Globus transfer identifier.

bulk_query(requests_by_eid, timeout=None)

Query the status of a bulk of transfers in globus API

Parameters:

Name Type Description Default
requests_by_eid

dictionary {external_id1: {request_id1: request1, ...}, ...}

required

Returns:

Type Description

Transfer status information as a dictionary.

bulk_group_transfers(transfer_paths, policy='single', group_bulk=200)

Group transfers in bulk based on certain criteria

Parameters:

Name Type Description Default
transfer_paths

List of (potentially multihop) transfer paths to group. Each path is a list of single-hop transfers.

required
policy

Policy to use to group.

'single'
group_bulk

Bulk sizes.

200

Returns:

Type Description

List of transfer groups