从评测引擎到完整 OJ 平台,145+ commits,675 个测试,从零到可水平扩展,一夜完成。
为什么要重写
原有的 Leverage OJ 评测方案是"一个 NestJS controller + 多台评测机 client"的长连接架构,问题很明显:
- 评测机是有状态的长连接 client,故障后无法自动恢复
- 评测任务没有持久化,重启丢任务
- 不支持 Botzone 游戏 AI 对战(只有标准 OJ 评测)
- 前端没有逐测试点结果、Botzone 回放这些功能
大约 6 分钟
从评测引擎到完整 OJ 平台,145+ commits,675 个测试,从零到可水平扩展,一夜完成。
原有的 Leverage OJ 评测方案是"一个 NestJS controller + 多台评测机 client"的长连接架构,问题很明显: