weaver.processes.esgf_process
¶
Module Contents¶
-
class
weaver.processes.esgf_process.
ESGFProcess
(provider: str, process: str, request: weaver.wps.service.WorkerRequest, update_status: weaver.typedefs.UpdateStatusPartialFunction)[source]¶ Common interface for WPS Process to be used for dispatching CWL jobs.
Multiple convenience methods are provide. Processes inheriting from this base should provide abstract method implementation as needed or required.
Note
For expected operations details and their execution order, please refer to Workflow Step Operations.
See also
execute()
for complete details of the operations and ordering.-
execute
(self: weaver.typedefs.JSON, workflow_inputs: str, out_dir: Dict[str, str], expected_outputs) → None[source]¶ Execute an ESGF process from cwl inputs.
-
_prepare_inputs
(self: weaver.typedefs.JSON, workflow_inputs) → List[cwt.Variable][source]¶ Convert inputs from cwl inputs to ESGF format.
-
static
_get_files_urls
(workflow_inputs: weaver.typedefs.JSON) → List[Tuple[str, str]][source]¶ Get all netcdf files from the cwl inputs.
-
static
_get_variable
(workflow_inputs: weaver.typedefs.JSON) → str[source]¶ Get all netcdf files from the cwl inputs.
-
_run_process
(self: str, api_key: List[cwt.Variable], inputs: Optional[cwt.Domain], domain=None) → cwt.Process[source]¶ Run an ESGF process.
-
_wait
(self: cwt.Process, esgf_process: float, sleep_time=2) → bool[source]¶ Wait for an ESGF process to finish, while reporting its status.
-