AI-Planning / AI-Planning/planning-as-a-service

Incremental retrieval of plans as they are discovered

未关闭
#39 0 条评论 1 个 reaction 已指派 0 人 在 GitHub 查看
主要语言
Python
星标
43
派生
13
PR 合并指标
30 天内没有已合并 PR

描述

Planners that support multiple plans are penalized by this interface in the eyes of the end user. The planner may have come up with one or multiple plans, but the end-user still stares at a blanc screen.

Rather than the state transition from `PENDING` to `ok`, we should support `QUEUEING` -> `INITIALIZING` -> `SEARCHING_FOR_INITIAL_PLAN` -> `SEARCHING_FOR_INITIAL_PLAN` -> `STOPPED` -> HTTP404 (when the plans are removed).

The first endpoint post request should return the session/run ID:

`POST /package/xyz/solve`

```json
{
"status": "QUEUEING",
"id": "qwer-qwer-qwer-qwer"
}
```

`GET /package/xyz/solve/qwer-qwer-qwer-qwer`

```json
{
"status": "SEARCHING...",
"plansFound": 2
}
```

`GET /package/xyz/solve/qwer-qwer-qwer-qwer/plans/1`

```json
{
"actions": [],
"metric": 123,
"elapsedTime": 1234
}
```

Similarly, the client should have the power to stop the planning process and purged all the data:

`DELETE /package/xyz/solve/qwer-qwer-qwer-qwer/`

Note that that the URL structure does not need to repeat the `/package/xyz/solve/` prefix, but if it does not, we have to come up with a different term for it, e.g. `/request/qwer-qwer-qwer-qwer/`

贡献指南

这个仓库没有索引到贡献指南

评估

这个 Issue 还没有评估数据。

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。