parsl.data_provider.staging.Staging

class parsl.data_provider.staging.Staging[source]

This class defines the interface for file staging providers.

For each file to be staged in, the data manager will present the file to each configured Staging provider in turn: first, it will ask if the provider can stage this file by calling can_stage_in, and if so, it will call both stage_in and replace_task to give the provider the opportunity to perform staging.

For each file to be staged out, the data manager will follow the same pattern using the corresponding stage out methods of this class.

The default implementation of this class rejects all files, and performs no staging actions.

To implement a concrete provider, one or both of the can_stage_* methods should be overridden to match the appropriate files, and then the corresponding stage_* and/or replace_task* methods should be implemented.

__init__()[source]

Initialize self. See help(type(self)) for accurate signature.

Methods

__init__()

Initialize self.

can_stage_in(file)

Given a File object, decide if this staging provider can stage the file.

can_stage_out(file)

Like can_stage_in, but for staging out.

replace_task(dm, executor, file, func)

For a file to be staged in, optionally return a replacement app function, which usually should be the original app function wrapped in staging code.

replace_task_stage_out(dm, executor, file, func)

For a file to be staged out, optionally return a replacement app function, which usually should be the original app function wrapped in staging code.

stage_in(dm, executor, file, parent_fut)

This call gives the staging provider an opportunity to prepare for stage-in and to launch arbitrary tasks which must complete as part of stage-in.

stage_out(dm, executor, file, app_fu)

This call gives the staging provider an opportunity to prepare for stage-out and to launch arbitrary tasks which must complete as part of stage-out.