Spaces:
Running
Running
|
Download processor/worker/README.md from Stouching-Robotics/DataFlowing: direct link, hf CLI and curl.
- Browser
- Download file 2.99 kB
-
https://huggingface.co/spaces/Stouching-Robotics/DataFlowing/resolve/main/processor/worker/README.md
- Command line
-
hf download hf://spaces/Stouching-Robotics/DataFlowing/processor/worker/README.md
-
curl -L -o README.md https://huggingface.co/spaces/Stouching-Robotics/DataFlowing/resolve/main/processor/worker/README.md
2.99 kB
| # EgoData Worker | |
| Worker 是 processor 的异步处理进程。它从 FastAPI 服务领取工作流任务,读取当前 | |
| episode 的 canonical 数据,执行手部关键点、深度 3D、AI 标注和质量审核模块,再把结果 | |
| 合并回对应项目的 `data/` 和 `meta/episodes/`。 | |
| Worker 不提供前端页面,也不直接修改原始 RGB/Depth 视频。手部预览由浏览器叠加关键点完成, | |
| 不会生成或保存第二份骨骼视频。 | |
| ## 运行前提 | |
| - 后端服务已经启动并可访问; | |
| - Worker 使用的 `EGODATA_WORKER_API_KEY` 与服务端 `WORKER_API_KEY` 一致; | |
| - Linux 和 Windows 使用各自独立的虚拟环境; | |
| - Worker 的临时目录有足够空间,处理完成后临时结果由服务端清理。 | |
| ## Linux | |
| ```bash | |
| cd "/path/to/processor" | |
| bash scripts/setup_linux.sh | |
| export EGODATA_SERVER_URL=http://127.0.0.1:8000 | |
| export EGODATA_WORKER_API_KEY='服务器配置的 Worker API Key' | |
| export EGODATA_WORKER_ID="linux-$(hostname)" | |
| bash scripts/run_worker_linux.sh | |
| ``` | |
| 默认值: | |
| ```text | |
| EGODATA_SERVER_URL=http://127.0.0.1:8000 | |
| EGODATA_DEVICE=auto | |
| EGODATA_WORK_DIR=<项目>/data/tmp/worker | |
| EGODATA_POLL_SECONDS=2 | |
| ``` | |
| ## Windows | |
| ```powershell | |
| cd "E:\Company-File\Date-V\processor" | |
| .\scripts\setup_windows.ps1 | |
| $env:EGODATA_SERVER_URL = 'http://127.0.0.1:8000' | |
| $env:EGODATA_WORKER_API_KEY = '服务器配置的 Worker API Key' | |
| .\scripts\run_worker_windows.ps1 | |
| ``` | |
| Windows 环境位置为 `.venv-windows\Scripts\python.exe`,Linux 环境位置为 | |
| `.venv-linux/bin/python`。不能跨系统复制虚拟环境。 | |
| ## 处理结果规则 | |
| Worker 返回的处理结果不会写入项目级 `processed/`、`meta/processing/` 或 | |
| `processing_manifest.json`。服务端完成任务时执行以下合并: | |
| ```text | |
| 项目/data/chunk-XXX/episode_XXXXXX.parquet | |
| └── 2D 关键点、metric 3D、传感器和标注字段 | |
| 项目/meta/episodes/chunk-XXX/episode_XXXXXX.parquet | |
| └── processing_* 状态、run_id、节点状态和输出索引 | |
| ``` | |
| `data/state/runs/` 是系统级任务队列、租约和审计记录,位于项目目录外,不属于数据集。 | |
| 缺少某个端口输入的节点会标记为 `Skipped · Missing Input`,不会阻止其他已连接分支执行。 | |
| ## 日志与排障 | |
| 优先检查: | |
| 1. `GET ${EGODATA_SERVER_URL}/health` 是否返回正常; | |
| 2. Worker API Key 是否和后端配置一致; | |
| 3. Worker 日志中是否持续出现领取任务、心跳和完成/跳过信息; | |
| 4. 项目的 `data/`、`meta/episodes/`、`videos/` 是否使用同一个 episode 编号; | |
| 5. RGB-D 3D 节点是否同时接入了 `RGB Video` 和 `Depth`,以及深度视频是否为 | |
| canonical HEVC `gray12le`; | |
| 6. 浏览器预览问题是否只是解码器兼容问题,不要把临时预览缓存当成原始数据。 | |
| 查看后端 OpenAPI: | |
| ```text | |
| http://127.0.0.1:8000/docs | |
| ``` | |
| 不要在日志、环境变量示例、工作流 JSON 或 Issue 中粘贴密码、Token、API Key 或数据库 | |
| 连接串。 | |