weaver.processes.wps3_process

Module Contents

weaver.processes.wps3_process.LOGGER[source]
weaver.processes.wps3_process.REMOTE_JOB_PROGRESS_PROVIDER = 1[source]
weaver.processes.wps3_process.REMOTE_JOB_PROGRESS_PREPARE = 2[source]
weaver.processes.wps3_process.REMOTE_JOB_PROGRESS_DEPLOY = 3[source]
weaver.processes.wps3_process.REMOTE_JOB_PROGRESS_VISIBLE = 4[source]
weaver.processes.wps3_process.REMOTE_JOB_PROGRESS_READY = 5[source]
weaver.processes.wps3_process.REMOTE_JOB_PROGRESS_EXECUTION = 9[source]
weaver.processes.wps3_process.REMOTE_JOB_PROGRESS_MONITORING = 10[source]
weaver.processes.wps3_process.REMOTE_JOB_PROGRESS_FETCH_OUT = 90[source]
weaver.processes.wps3_process.REMOTE_JOB_PROGRESS_COMPLETED = 100[source]
class weaver.processes.wps3_process.Wps3Process(step_payload: weaver.typedefs.JSON, joborder: weaver.typedefs.JSON, process: str, request: pywps.app.WPSRequest, 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.

resolve_data_source(self, step_payload, joborder)[source]
get_user_auth_header(self)[source]
is_deployed(self)[source]
is_visible(self: Ellipsis)Union[bool, None][source]

Gets the process visibility.

Returns

True/False correspondingly for public/private if visibility is retrievable, False if authorized access but process cannot be found, None if forbidden access.

set_visibility(self, visibility)[source]
describe_process(self)[source]
deploy(self)[source]
prepare(self)[source]

Implementation dependent operations to prepare the Process for Job execution.

This is an optional step that can be omitted entirely if not needed.

format_outputs(self: weaver.typedefs.JobOutputs, workflow_outputs)weaver.typedefs.JobOutputs[source]

Implementation dependent operations to configure expected outputs for Job execution.

This is an optional step that will simply pass down the outputs as is if no formatting is required. Otherwise, the implementing Process can override the step to reorganize workflow step outputs into the necessary format required for their dispatch() call.

dispatch(self: weaver.typedefs.JobInputs, process_inputs: weaver.typedefs.JobOutputs, process_outputs)Any[source]

Implementation dependent operations to dispatch the Job execution to the remote Process.

Returns

reference details that will be passed to monitor().

monitor(self: str, monitor_reference)bool[source]

Implementation dependent operations to monitor the status of the Job execution that was dispatched.

This step should block execute() until the final status of the remote Job (failed/success) can be obtained.

Returns

success status

get_job_status(self: weaver.typedefs.JobMonitorReference, job_status_uri: Union[bool, int], retry=True)weaver.typedefs.JSON[source]

Obtains the contents from the Job status response.

get_results(self: str, monitor_reference)weaver.typedefs.JobResults[source]

Obtains produced output results from successful job status ID.