open-rmf/rmf_ros2

respond to cancellation of task that already have been cancelled with "success: false" instead of timing out

cnboonhan opened this issue · 2 comments

Currently, trying to cancel a task that is already cancelled will cause a timeout on the rmf_api_server. Ideally, this should be a response like

{
  "success": false
}

one way to do this would be to keep track of all tasks that have been finished or cancelled. This could be implemented by querying a fleet adapter database, once that is implemented.

I also would like to add a similar enhancement request regarding the task API, for example:

  • Task submission
    • return failure instead of not responding
    • return success or failure with additional info (e.g. current status of the task) if a task with the same task_id exists
  • Task cancellation, kill, interrupt, etc
    • return failure if the task is already, canceled/interrupted/completed, etc.
  • Task status query:
    • New API to check the current task status.

@cwrx777 we would appreciate your contributions for the features you have listed.