Workflow Operations
Each individual process in the overall workflow can potentially be a long running operation.
Accordingly, there are two types of workflow operations possible in the PlanetPress Connect REST API:
- Asynchronous – the operation is initiated, monitored, and the result returned using multiple requests (Default)
- Synchronous – the operation is initiated and the result returned using a single request
Asynchronous Operations
Asynchronous workflow operations require the submission of an initial HTTP request to initiate the operation. Then additional requests are required to monitor progress and retrieve the final result. All the required detail is included in the HTTP response headers of the initial request, including the URIs that should be used for further processing.
A successful request will return a response that will include the headers listed in the following table:
Header | Description |
---|---|
operationId |
The unique id of the operation being processed |
Link |
Contains multiple link headers which provide details on which URI to use to retrieve further information on the operation:
|
A request made to the progress URI during processing will return a progress percentage value of 0 to 100, and finally the value of ‘done’ once the operation has completed.
A request made to the cancel URI during processing will immediately cancel the operation.
A request made to the result URI after processing has completed will return the final result of the operation.
This is the default workflow operation type, and this approach is used across most workflow based services as demonstrated in the Working with the Workflow Services page of the Working Examples section.
Synchronous Operations
Synchronous workflow operations initiate the operation and retrieve the final result in a single request.
There are no additional operation related headers returned, and there is no option to either monitor progress or cancel a running operation.
This approach is only used by specific methods found in the All-In-One workflow service.