-
Type: Improvement
-
Status: Resolved
-
Priority: Minor
-
Resolution: Fixed
-
Affects Version/s: None
-
Fix Version/s: 10.3
-
Component/s: Automation
-
Backlog priority:3,000
-
Sprint:nxNS Sprint 10.3.5, nxNS Sprint 10.10.1
-
Story Points:2
1.Introduce async operation adapter:
Method | URL | Status | Headers | Description |
---|---|---|---|---|
POST | /<op>/@async | 202 (accepted) | Location: <poll URL> | Starts the execution thread and redirects to polling URL |
GET | /<op>/@async/<executionId>/status | 200 or 303 when done (see other) | Location: <result URL> | Returns status and redirects to result URL when done |
GET | /<op>/@async/<executionId> | 200 or 303 (BulkStatus.result.url) | Location: <result URL> | Returns the result or redirects to it in case of a bulk action (result.url seems to be a convention) |
DELETE | /<op>/@async/<executionId> | 200 or 404 | Aborts execution (only applies to bulk actions) |
2. Introduce async service and status:
- Introduce AsyncService interface with methods to get status and result given a command ID as well as check completion and abort async computations.
- Introduce AsyncStatus interface for when you wish to return status in operations (need to be able to get the command ID from the status.
- Introduce @OperationMethod(asyncService=Class<? extends AsyncService>) so we know which service to poll status from (using command ID)
3. Make Blob.BulkDownload synchronous and deprecate AsyncBlob. Calls should rely on the new async adapter.
- is related to
-
NXP-26303 Use thread pool in async operation adapter
- Open
-
NXP-26304 Allow aborting asynchronous operation executions
- Open
-
NXP-28831 Make a Work class that can be used to run arbitrary automation chains or operations
- Open
-
NXP-26246 Bulk status should have an error state
- Resolved
- is required by
-
ELEMENTS-806 Allow calling operations asynchronously
- Resolved