工资管理变量冲突修复+每日互动提醒队列上线+队列循环任务防重复与重试机制修复

工资表突然空白、生成按钮点了没反应?找到元凶了——一个叫$u的变量被循环借去用了没还回来,导致整页JavaScript语法炸裂。现已修复,工资管理恢复正常,该生成生成、该发发,丝滑如初~ 每日互动提醒队列也来了,点赞评论不再错过。哦对,队列循环任务还修了个大bug——淘宝联盟Token刷新任务本来该20小时跑一次,失败后却变成每10秒重试+反复新建任务,几分钟刷出446条失败记录…现已彻底修复,失败后按原间隔重试,不可恢复错误直接跳过,队列终于安静了。
更新内容:
  • [修复] 【书笙OS】-后端 工资管理页面因foreach循环变量$u与路由URL变量$u重名,导致$u被覆盖为数组,页面输出Array字符串引发JavaScript语法错误,工资表无法显示且生成按钮失效。已将循环变量改为$_emp避免冲突
  • [新增] 【书笙OS】-后端 每日互动提醒队列:点赞/评论实时缓存到新表 SS_daily_notice(以被通知用户为颗粒度,写入前先判公众号关注状态,未关注不缓存避免资源浪费),每天凌晨10分由队列任务 SS_daily_notice_push 按内容逐条推送前一天收获的赞/评论汇总模板消息(场景 daily_notice),每条消息含小程序直达页,点击直达对应点赞/评论页面
  • [优化] 【书笙OS】-后端 每日互动提醒改为队列循环任务(repeat=86400 每天凌晨10分自动续跑),公众号关注状态 Redis 缓存 TTL 由固定6小时改为动态「次日00:20−当前时间」,保证当天事件全程命中同一缓存结果,避免缓存提前过期导致数据丢失
  • [修复] 【书笙OS】-后端 队列循环任务失败后重试间隔从固定10秒改为按repeat间隔重试,避免高频无效重试浪费资源(涉及SS_queue_worker_once和queue_worker_cli.php)
  • [修复] 【书笙OS】-后端 队列自动注册逻辑(SS_queue_bootstrap)在循环任务失败到status=3后会反复新建任务行,导致淘宝联盟Token刷新任务几分钟内堆积446条失败记录。改为检测最新任务状态,失败时原地重置而非新建
  • [优化] 【书笙OS】-后端 淘宝联盟Token刷新函数(SS_tbk_token_refresh)对不可恢复错误(如refresh_token非TOP创建)返回跳过而非报错,避免无意义的循环重试;refresh_token过期同样改为跳过模式