curl -X GET "http://localhost:5001/migrate/result"
const response = await fetch('http://localhost:5001/migrate/result');
const data = await response.json();
console.log(data);
import requests
response = requests.get('http://localhost:5001/migrate/result')
data = response.json()
print(data)
package main
import (
"encoding/json"
"fmt"
"net/http"
)
func main() {
resp, err := http.Get("http://localhost:5001/migrate/result")
if err != nil {
panic(err)
}
defer resp.Body.Close()
var result map[string]interface{}
json.NewDecoder(resp.Body).Decode(&result)
fmt.Printf("%+v\n", result)
}
{
"status": "completed",
"step": "message",
"last_err": null,
"try_count": 1
}
{
"status": "running",
"step": "user",
"last_err": null,
"try_count": 2
}
{
"status": "migrated",
"step": "channel",
"last_err": null,
"try_count": 1
}
系统
获取迁移结果
获取数据迁移过程的结果状态
GET
/
migrate
/
result
curl -X GET "http://localhost:5001/migrate/result"
const response = await fetch('http://localhost:5001/migrate/result');
const data = await response.json();
console.log(data);
import requests
response = requests.get('http://localhost:5001/migrate/result')
data = response.json()
print(data)
package main
import (
"encoding/json"
"fmt"
"net/http"
)
func main() {
resp, err := http.Get("http://localhost:5001/migrate/result")
if err != nil {
panic(err)
}
defer resp.Body.Close()
var result map[string]interface{}
json.NewDecoder(resp.Body).Decode(&result)
fmt.Printf("%+v\n", result)
}
{
"status": "completed",
"step": "message",
"last_err": null,
"try_count": 1
}
{
"status": "running",
"step": "user",
"last_err": null,
"try_count": 2
}
{
"status": "migrated",
"step": "channel",
"last_err": null,
"try_count": 1
}
概述
获取数据迁移过程的结果状态,用于监控数据迁移的进度和状态。curl -X GET "http://localhost:5001/migrate/result"
const response = await fetch('http://localhost:5001/migrate/result');
const data = await response.json();
console.log(data);
import requests
response = requests.get('http://localhost:5001/migrate/result')
data = response.json()
print(data)
package main
import (
"encoding/json"
"fmt"
"net/http"
)
func main() {
resp, err := http.Get("http://localhost:5001/migrate/result")
if err != nil {
panic(err)
}
defer resp.Body.Close()
var result map[string]interface{}
json.NewDecoder(resp.Body).Decode(&result)
fmt.Printf("%+v\n", result)
}
{
"status": "completed",
"step": "message",
"last_err": null,
"try_count": 1
}
{
"status": "running",
"step": "user",
"last_err": null,
"try_count": 2
}
{
"status": "migrated",
"step": "channel",
"last_err": null,
"try_count": 1
}
响应字段
string
必填
迁移状态:
running- 迁移正在进行中completed- 迁移已完成migrated- 迁移已完成(历史状态)
string
必填
当前迁移步骤,例如:
message、user、channel 等string
最后一次错误信息,如果没有错误则为
nullinteger
必填
尝试次数
状态码
| 状态码 | 说明 |
|---|---|
| 200 | 成功获取迁移结果 |
| 500 | 服务器内部错误 |
最佳实践
- 定期检查:建议每 5-10 秒检查一次迁移状态
- 错误处理:注意处理网络错误和服务器错误
- 状态缓存:避免状态未变化时的重复处理
- 通知机制:在迁移完成或出错时及时通知相关人员
- 日志记录:记录迁移过程中的关键状态变化
⌘I

