50 lines
2.2 KiB
Markdown
50 lines
2.2 KiB
Markdown
# world_sync 同步管理模块(W-05)
|
||
|
||
元景项目 W-05 同步管理功能模块,负责同步配置、同步任务执行与同步日志查询。
|
||
|
||
## 功能
|
||
|
||
- **同步配置管理**:`world_sync` 表 CRUD(同步编码唯一、类型/模式/状态白名单校验,非法输入 100% 拦截不落库)
|
||
- **同步任务执行**:`create_sync_task` 创建任务 + `execute_sync_task` 批量事务执行,任一条失败整体回滚,无脏数据
|
||
- **同步日志查询**:`world_sync_log` 分页查询({list,total})
|
||
- **编码字典**:`sync_status` / `sync_type` 经 `init/data.json` 幂等落库到 appcodes/appcodes_kv
|
||
|
||
## 数据表(models/)
|
||
|
||
| 表 | 说明 |
|
||
|---|---|
|
||
| world_sync | 同步配置(sync_code 唯一) |
|
||
| world_sync_task | 同步任务(batch_no 批次、统计计数、状态) |
|
||
| world_sync_log | 同步日志(task_id 关联、payload/result/error_msg) |
|
||
|
||
## 安装与集成
|
||
|
||
```bash
|
||
pip install .
|
||
```
|
||
|
||
宿主应用接入(三处):
|
||
1. `app/{app}.py`:定义 `get_module_dbname('world_sync')` 并挂 ServerEnv,`init()` 中 `from world_sync.init import load_world_sync; load_world_sync()`
|
||
2. `spec.json`:`generated_modules` 加入 `"world_sync"`
|
||
3. RBAC:运行 `scripts/load_path.py`(或在中央 load_path.py 显式登记 `/world_sync/*` 路径,禁止通配符)
|
||
|
||
## REST 接口(统一前缀 /api/*)
|
||
|
||
| 路径 | 说明 |
|
||
|---|---|
|
||
| POST /world_sync/api/world_sync_create.dspy | 新增同步配置 |
|
||
| POST /world_sync/api/world_sync_update.dspy | 更新同步配置 |
|
||
| POST /world_sync/api/world_sync_delete.dspy | 删除同步配置 |
|
||
| GET /world_sync/api/world_sync_list.dspy | 配置分页列表 |
|
||
| POST /world_sync/api/world_sync_task_create.dspy | 创建同步任务 |
|
||
| POST /world_sync/api/world_sync_task_execute.dspy | 执行同步任务(batch 事务) |
|
||
| GET /world_sync/api/world_sync_task_list.dspy | 任务分页列表 |
|
||
| GET /world_sync/api/world_sync_log_list.dspy | 日志分页查询 |
|
||
| GET /world_sync/api/world_sync_dict.dspy | 编码字典 |
|
||
|
||
错误结构:`{code, message, field, detail}`;分页结构:`{list, total}`。
|
||
|
||
## 技术栈
|
||
|
||
Python 3.8+ / sqlor / ahserver ServerEnv / bricks-framework(前端 .ui)
|