03 流式接入实时数据 · 讲师
以 live 模式运行,识别安全的降级状态,并及时把现场切换到 fixture。
macOS terminal: Run workshop commands in Terminal using zsh or bash.
时间安排
15 分钟。到第 10 分钟时,把所有被拦截或市场清淡的学员切换到 fixture 模式。
讲解脚本
- WebSocket 提供的是即时性,不是持久性。
- Data API 的成交数据带重叠窗口对账;确定性 ID 让重跑变得安全。
- 在 socket 重连期间,CLOB REST 让 BBO/价差保持最新。
degraded是诚实且有用的状态。unhealthy意味着 Cloud 写入失败,或者所有数据源都 已过期。
常见故障
- WebSocket 握手超时:等待
last_book_fallback_at;不要反复重启。 - 健康检查返回 503:查看
reason、queue_depth和last_clickhouse_write_at。 - 60 秒后仍然零 tick:改用 fixture,让后续模块保持确定性。
- 端口 8090 被占用:按故障排查页的方法更换端口。
重置
docker compose --env-file .env.polymarket down
docker compose --env-file .env.polymarket up -d --build collector
curl --fail --silent http://localhost:8090/health | python3 -m json.tool重启会从 ClickHouse Cloud 重新加载近期 ID 和成交检查点。