weaver.processes.wps3_process ============================= .. py:module:: weaver.processes.wps3_process Module Contents --------------- .. py:data:: LOGGER .. py:class:: Wps3RemoteJobProgress Progress of a remotely monitored job process execution. .. note:: Implementations can reuse same progress values or intermediate ones within the range of the relevant sections. .. py:attribute:: SETUP :value: 1 .. py:attribute:: PREPARE :value: 2 .. py:attribute:: DEPLOY :value: 3 .. py:attribute:: VISIBLE :value: 4 .. py:attribute:: READY :value: 5 .. py:attribute:: EXECUTION :value: 15 .. py:attribute:: MONITORING :value: 20 .. py:attribute:: STAGE_OUT :value: 90 .. py:attribute:: COMPLETED :value: 100 .. py:class:: Wps3Process(step_payload: weaver.typedefs.JSON, job_order: weaver.typedefs.CWL_RuntimeInputsMap, process: str, request: Optional[weaver.wps.service.WorkerRequest], update_status: weaver.typedefs.UpdateStatusPartialFunction) Remote or local :term:`Process` with :term:`ADES` capabilities, based on :term:`OGC API - Processes` requests. If a referenced remote service supports :term:`Process` deployment using an :term:`Application Package`, and that inputs point to a resolvable :term:`Data Source`, the execution will be dispatched to that remote location. Otherwise, the :term:`Process` is executed locally. Most of the core operations are handled by :class:`OGCAPIRemoteProcessBase` since request are sent to another :term:`ADES` instance, or `Weaver` itself for :term:`Workflow` steps, both of which are :term:`OGC API - Processes`. Additional operations revolve around the resolution of which remote :term:`ADES` to dispatch based on any detected :term:`Data Source` location. .. seealso:: - :class:`weaver.processes.wps_process_base.OGCAPIRemoteProcessBase` .. py:attribute:: process_type :value: 'WPS-3' .. py:attribute:: process .. py:method:: resolve_data_source(step_payload: weaver.typedefs.CWL, job_order: weaver.typedefs.CWL_RuntimeInputsMap) -> Tuple[str, str, weaver.typedefs.JSON] .. py:method:: get_user_auth_header() -> weaver.typedefs.HeadersType .. py:method:: get_auth_headers() -> weaver.typedefs.AnyHeadersContainer Add specific user access headers for :term:`ADES` if provided in :ref:`Configuration Settings`. .. py:method:: is_deployed() .. py:method:: is_visible() -> Union[bool, None] 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. .. py:method:: set_visibility(visibility) .. py:method:: describe_process() .. py:method:: deploy() .. py:method:: prepare(workflow_inputs: weaver.typedefs.CWL_RuntimeInputsMap, expected_outputs: weaver.typedefs.CWL_ExpectedOutputs) -> None Implementation dependent operations to prepare the :term:`Process` for :term:`Job` execution. This is an optional step that can be omitted entirely if not needed. This step should be considered for the creation of a reusable client or object handler that does not need to be recreated on any subsequent steps, such as for :meth:`dispatch` and :meth:`monitor` calls.