08-07 把测试放进协作
题目
按第七章建立功能分支,修改一项并发控制或请求行为,留下能揭示差异的测试,再提交并查看 PR 中的变化。
推导与做法
先把“最多两个工作任务、队列不超过三项、输出按输入编号排列”写成检查,再改变实现。一次错误改动应能让这条检查失败。
在 codex/bounded-workers 分支提交实现与检查,先运行这一题,再运行 network_project 的完整 pytest。PR 说明具体改变的并发行为,不把一次更快的偶然计时当作正确性的证明。
实现与运行
查看带注释实现。本题与相关处理函数放在同一章节代码文件中;启动工具负责定位相邻项目和选择题号。
在配套目录的 并发异步与HTTP/network_project 中运行。先按项目 README 执行 uv sync --locked。
# 使用项目解释器运行本题,题号决定执行哪一组演示。
uv run python "../../学习索引/参考实现/代码/ch08.py" 08-07
程序按题号输出处理后的值、查询结果或状态。先和前面的手算比较,再修改一项输入重跑。
查看本题运行结果
# 与上面的手算状态和题目数值逐项比较。
{
"regression_check": "passed",
"branch": "codex/bounded-workers",
"result": {
"peak": 2,
"queue_peak": 3,
"count": 100,
"first_last": [
"/books/0",
"/books/99"
]
}
}