You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
On the architecture call today I raised the point that the action protocol binding in the Core Profile describes creating ActionStatus resources which provide the status of an action, but doesn't say anything about how long those resources should be retained for.
Note that an action status can have different states ("pending", "running", "completed" or "failed") and in the REST API a Consumer needs to poll the action resource to know its state. If you cancel an action its ActionStatus resource is deleted, because the cancel operation maps onto a DELETE request in HTTP, but the ActionResource for an operation which completes (or fails) needs to be retained so Consumers can poll its status. However, there's currently no guidance about how long those resources should be retained for.
My personal thinking is that Web Things should not be expected to retain this historical data forever because they may be resource constrained devices with limited storage, but they also can't delete the resource as soon as an action completes because a Consumer needs to poll the resource to find out whether the action completed or failed. I would expect that a Web Thing would store action state in volatile memory and may flush old action states to conserve memory and when powering down.
It might be worth adding a note to the specification to make it clear that:
ActionStatus resources don't need to be retained forever
ActionStatus resources can't immediately be deleted once an action completes
The duration for which the resource is retained may be implementation-specific as it may depend on hardware constraints
The text was updated successfully, but these errors were encountered:
On the architecture call today I raised the point that the action protocol binding in the Core Profile describes creating
ActionStatus
resources which provide the status of an action, but doesn't say anything about how long those resources should be retained for.Note that an action status can have different states ("pending", "running", "completed" or "failed") and in the REST API a Consumer needs to poll the action resource to know its state. If you cancel an action its
ActionStatus
resource is deleted, because the cancel operation maps onto a DELETE request in HTTP, but the ActionResource for an operation which completes (or fails) needs to be retained so Consumers can poll its status. However, there's currently no guidance about how long those resources should be retained for.My personal thinking is that Web Things should not be expected to retain this historical data forever because they may be resource constrained devices with limited storage, but they also can't delete the resource as soon as an action completes because a Consumer needs to poll the resource to find out whether the action completed or failed. I would expect that a Web Thing would store action state in volatile memory and may flush old action states to conserve memory and when powering down.
It might be worth adding a note to the specification to make it clear that:
The text was updated successfully, but these errors were encountered: