When a DRER receives a request to execute a workflow from a client the following occurs:
A request execution status is a constant value indicating the status of execution of a workflow. It is accessible to clients as a RequestExecutionStatus resource property of a request resource.
If a workflow executes successfully the request execution status will
begin at UNSTARTED, change to PROCESSING when the workflow is being
processed and finally change to COMPLETED when the workflow has
completed successfully. There are other status values associated with
errors and premature request termination. All the status values are
described in Table K.1, “Request execution status values”.
Note that all the status values are, in practice, prefixed by the namespace
uk.org.ogsadai.resource.request.status.
For example, COMPLETED is actually
uk.org.ogsadai.resource.request.status.COMPLETED.
| Status value | Meaning |
|---|---|
| UNSTARTED | Request has not started processing. |
| PROCESSING | Request is processing and no activities are in error. |
| COMPLETED | Request has completed successfully |
| COMPLETED_WITH_ERROR | Request is processing but some activities are in error. |
| TERMINATED | Request has been explicitly terminated. |
| ERROR | Request encountered an error prior to processing. |
Table K.1. Request execution status values
While the request execution status provides an easy and efficient way of monitoring, at a high level, the execution of a request, lower level activity status details and result data can be obtained from the request status.
A request status is a complex, dynamic value indicating the status of execution of a workflow at discrete point in time. It is returned by a DRER in response to a workflow submitted by a client and, for asynchronous requests, is accessible to clients as a RequestStatus resource property of a request resource.
The request status is a dynamic data structure that is part of the state of a request resource. The request status contains three portions of data:
Request details.
Activity details.
Result data.
The request details section contains the same request execution status as can be obtained from the RequestExecutionStatus resource property (see Section K.2, “Request execution status”). It also contains any top-level error information.
The activity details sections contains a status value for each activity in the workflow (UNSTARTED, PROCESSING, COMPLETE, etc.). It may also contain errors and warnings produced by the activities.
The result data section contains any data written to the request status by activities. Most activities do not write data to the request status but OGSA-DAI includes one activity, called DeliverToRequestStatus, that can be used to write the data it receives to the request status. This is sometimes used in conjunction with synchronous requests.
The request status will be continually updated while the request is being executed. Clients can read the current value of the request status using the RequestStatus resource property of the associated request resource at any point during the request's execution. It is recommended best practice that clients only read the RequestStatus resource property once and that this is done after the request is known to have finished. The more efficient RequestExecutionStatus resource property can be used to monitor the execution of a request.