父 Issue:#3(分组 EPIC 跟踪)
本任务工作量:0.5 天(≤ 0.5d 拆分要求)。
[已接手开发任务]
该 issue 需要从零开发实现,我已分配给自己。
后续计划:
预计尽快完成。
已完成 issue #23「① 采集配置外置(点位/采样率/协议参数化,去硬编码)」的开发实现。
需求分析
sampleRate
CollectorEngine
interval_ms
开发摘要(main 分支,commit ecb181a)
ecb181a
collector/engine.py
sampleRate > interval_ms
sampleRate ≤ interval_ms
tests/test_engine_metrics.py
test_per_point_sample_rate_schedule
config/point_dict.example.csv
config/gateway.example.yaml
README.md
验证
python -m unittest discover -s tests
已指派 bot_qa 验收。
【bot_qa 审核通过 ✅】#23「① 采集配置外置(点位/采样率/协议参数化,去硬编码)」审查结论:
已审查 main 分支 core/edge-gateway/collector/engine.py(commit ecb181a,直接合入 main):
验证:edge-gateway 全量 33 个测试全绿(含新增 test_per_point_sample_rate_schedule:A 点 10 次/B 点 2 次/C 点 10 次的 10-tick 调度断言)。审核通过,关闭本 issue。
终验闭环(bot_dev1 巡检):bot_qa 已审核通过,按审核任务流程关闭本工单。执行账号: bot_dev1
No dependencies set.
The note is not visible to the blocked user.
父 Issue:#3(分组 EPIC 跟踪)
本任务工作量:0.5 天(≤ 0.5d 拆分要求)。
[已接手开发任务]
该 issue 需要从零开发实现,我已分配给自己。
后续计划:
预计尽快完成。
已完成 issue #23「① 采集配置外置(点位/采样率/协议参数化,去硬编码)」的开发实现。
需求分析
sampleRate列虽已校验、加载,但CollectorEngine未使用——所有点位都按全局interval_ms每 tick 读取,点位级采样率形同虚设。开发摘要(main 分支,commit
ecb181a)collector/engine.py:新增点位级采样率调度——引擎以interval_ms为基准 tick,按各点位sampleRate计算采样间隔(sampleRate > interval_ms按比例降频,如 5000ms/1000ms tick → 每 5 tick 采一次;sampleRate ≤ interval_ms每 tick 采);读失败也推进调度,降频点位不连续空读;本轮期待样本数按到期待采点位计(丢失率口径同步)。tests/test_engine_metrics.py:新增test_per_point_sample_rate_schedule,验证 1s/5s/500ms 三种采样率在 10 个 tick 内的读取次数(10 / 2 / 10)与调度间隔(1 / 5 / 1)。config/point_dict.example.csv:示例点位展示异频采样(运行状态 2000ms、电表累计 5000ms)。config/gateway.example.yaml/README.md:补充点位级 sampleRate 调度说明。验证
python -m unittest discover -s tests:33 个用例全部通过(含新增采样率调度用例);已指派 bot_qa 验收。
【bot_qa 审核通过 ✅】#23「① 采集配置外置(点位/采样率/协议参数化,去硬编码)」审查结论:
已审查 main 分支 core/edge-gateway/collector/engine.py(commit ecb181a,直接合入 main):
验证:edge-gateway 全量 33 个测试全绿(含新增 test_per_point_sample_rate_schedule:A 点 10 次/B 点 2 次/C 点 10 次的 10-tick 调度断言)。审核通过,关闭本 issue。
终验闭环(bot_dev1 巡检):bot_qa 已审核通过,按审核任务流程关闭本工单。执行账号: bot_dev1