Dataset lifecycle
In this document you will learn about the statuses during solving and the solving lifecycle.
(The dataset status is indicated on the top right in the sidebar in the Platform UI, or by the solverStatus
field in the API.)
Dataset statuses
A dataset can be in one of several states:
Status | Description | API value |
---|---|---|
Dataset created |
A new dataset has been created from a new input dataset or a patch to an existing dataset. |
|
Dataset validated |
The dataset has been validated. |
|
Dataset invalid |
The submitted dataset was invalid. |
|
Dataset computed |
The score analysis and KPIs for the dataset have been computed before solving. This can be useful for datasets that already include partial solutions (e.g. employees assigned to shifts, vehicles assigned to visits). |
|
Scheduled |
The data is in the queue to be solved. |
|
Started |
The input dataset is being converted into the planning problem and augmented with additional information, such as distance matrix (if applicable). |
|
Solving |
The planning problem is currently being solved. |
|
Incomplete |
A full solution was not found before the run was terminated. |
|
Completed |
Solving has completed and no further solution will be generated. |
|
Failed |
An error has occurred and solving was unsuccessful. |
|
Typical lifecycle
When you submit a dataset you can specify if solving should start (?operation=SOLVE
) or not (?operation=NONE
), by appending the query parameter to the API endpoint.
If omitted, SOLVE
is the default.
The solving status can become "Failed" because of errors at any stage.
The "Dataset created" and "Solving scheduling" (when solving is requested) occur synchronously and are triggered by the API call.
The other statuses occur asynchronously as resources become available.
There are 3 possible scenarios:
1. Submit the dataset and do not solve
-
Synchronously.
-
Dataset created.
-
-
Asynchronously
-
Dataset validated.
-
Dataset computed.
-
2. Submit the dataset and start solving
-
Synchronously.
-
Dataset created.
-
Solving scheduled.
-
-
Asynchronously
-
Dataset validated.
-
Dataset computed.
-
Solving started.
-
Solving active.
-
Solving completed.
-
3. Submit the dataset and do not solve followed by a second call to start solving
First operation "NONE":
-
Synchronously.
-
Dataset created.
-
Dataset validated.
-
-
Asynchronously
-
Dataset computed.
-
Second operation "SOLVE":
-
Synchronously.
-
Solving scheduled.
-
-
Asynchronously
-
Solving started.
-
Solving active.
-
Solving completed.
-
Actions
Cancelling a solve: When a dataset that is being solved is Cancelled (via the Platform UI or the API) it goes from the current state to either "Incomplete" or "Completed".
Solving restarted
Sometimes solving may need to restart because of an error or the availability of resources.
When this happens, you can expect the following:
-
Logs will show the appended logs of the previous solving process (unless the previous log is unavailable).
-
The "submitted time" or "active time" of the solve is not reset to the time of the restart. The original times are preserved.
-
The score graph will include events produced by all of the solves.
Webhooks
Our platform supports webhook events. Events are sent during the lifecycle of a dataset. See Webhooks for details.