fix(qdreader): harden midnight cron dispatch

This commit is contained in:
2026-05-19 15:54:43 +08:00
parent 5b0f20fa24
commit bca0aaa2f7
5 changed files with 35 additions and 10 deletions
+1 -1
View File
@@ -619,7 +619,7 @@ QDReader 这次踩坑说明:账号 ID 识别成功,不代表 Autman 会话
- `xxx查询` 的数据来源必须写清楚:如果没有实时接口,就命名为“最近签到记录/最后执行日志”,读取 `last_run_json``last_result_json`,不要让用户误以为是实时查询。
- 执行动作要同时写批次日志和单账号日志;成功、业务失败、请求异常都要落日志,异常不能只显示在当次回复里。
- 如果插件需要按天判断执行情况,不要把归档和运行任务放在同一个 cron 入口。优先在同一个插件内声明两个独立 cron,并在入口根据触发时间/触发标识分流:业务时间 cron(如 `15 7 * * *`)只执行签到/业务动作并写 `last_run_json` / `last_result_json`;零点归档 cron(如 `0 0 * * *`)只把上一份批次日志按日期写入 `archive_json`,再清空 `last_run_json` / `last_result_json`,绝不执行签到/业务动作。只有在当前 Autman 运行环境确认不可靠支持单插件多 `[cron]` 时,才退而拆成两个插件文件。查询菜单优先展示当日/当前批次;当日日志为空时回退最近归档,按归档结果反馈成功/失败。
- 如果插件需要按天判断执行情况,不要把归档和运行任务放在同一个 cron 入口。优先在同一个插件内声明两个独立 cron,并在入口根据触发时间/触发标识分流:业务时间 cron(如 `15 7 * * *`)只执行签到/业务动作并写 `last_run_json` / `last_result_json`;零点归档 cron(如 `0 0 * * *`)只把上一份批次日志按日期写入 `archive_json`,再清空 `last_run_json` / `last_result_json`,绝不执行签到/业务动作。若只能按当前本机时间识别系统触发,归档窗口要覆盖调度延迟风险(例如 00:00-00:59 都归档),避免 00:00 cron 延迟几分钟后误走业务签到。只有在当前 Autman 运行环境确认不可靠支持单插件多 `[cron]` 时,才退而拆成两个插件文件。查询菜单优先展示当日/当前批次;当日日志为空时回退最近归档,按归档结果反馈成功/失败。
- 普通回复永远不要输出完整 Cookie;只展示脱敏 UID、备注、Cookie key 摘要或长度。
- 高风险的导出/批量导入功能默认不做,除非 BOSS 明确需要。
- Node VM 测试应模拟:`sender.reply``sender.listen``sender.getUserID``get/set``bucketGet/bucketSet``request`