Yu Bingjiao 3b0716d449 fix: 抢票成功后推送通知丢失 + 通知发送可靠性强化 (#1108)
抢票成功后配置的推送(ntfy 等)大概率丢失。根因三处叠加:
1. 推送器仅在中奖瞬间才创建并首次发送,全程不预检链路;
2. 各渠道 send_message 的 requests.post 无 timeout,POST 挂起即无限阻塞;
3. Notifier 线程为 daemon,join_all(timeout=15) 后进程退出(UI 模式 os._exit)
   直接杀线程,未发完的重发全部丢失。

修复(子进程内,无头/UI 两模式通吃):
- 全渠道 send_message 补 timeout + raise_for_status(非2xx 触发重试);
- NotifierBase 新增 send_once_sync(同步阻塞发送 + 指数退避重试);
- NotifierManager 新增 send_all_sync:抢票成功后在进程退出前做一次同步
  确认送达(带 timeout+重试),不依赖 daemon 线程;
- buy 进入等待前 _precheck_notifiers 轻量预检并打日志,失败只告警不阻断;
- 超时/重试/退避改为可配(NotifierConfig 4 参数,CLI/env/db/runtime 四路),
  并在 Gradio 推送设置页加对应控件。

Closes #1104
2026-08-11 22:53:40 +08:00
2026-06-19 03:22:24 +08:00
2026-07-04 18:18:33 +08:00
2026-06-20 22:36:44 +08:00
2026-06-19 03:22:24 +08:00
2026-06-18 20:13:28 +08:00
2026-06-09 02:14:48 +08:00
2026-06-12 23:33:44 +08:00
2026-06-13 04:21:16 +08:00
2026-07-08 01:01:18 +08:00
2026-06-19 03:50:04 +08:00
2026-06-27 22:56:23 +08:00
2026-06-18 20:21:20 +08:00
2026-06-09 02:55:37 +08:00
2026-07-04 18:37:16 +08:00
2026-06-27 22:56:23 +08:00

logo

biliTickerBuy

GitHub all releases GitHub release (with filter) GitHub issues GitHub Repo stars

mikumifa%2FbiliTickerBuy | Trendshift

这是一个开源免费,简单易用的 B 站会员购辅助工具

💻 快速安装

请查看完整的 安装指南

👀 使用说明书

前往飞书: https://n1x87b5cqay.feishu.cn/wiki/Eg4xwt3Dbiah02k1WqOcVk2YnMd

项目问题

程序使用问题: 点此链接前往 discussions

反馈程序 BUG 或者提新功能建议: 点此链接向项目提出反馈 BUG

Skill版本:https://github.com/mikumifa/biliTickerSkill

分布式版本:https://github.com/mikumifa/biliTickerStorm

📩 免责声明

本项目遵循 PolyForm Noncommercial License 1.0.0 许可协议,仅供个人学习与研究使用。未经作者书面授权,不得用于任何商业用途、商业服务、代抢服务或其他营利行为。严禁将本项目用于违法行为或违反相关平台规则的用途。由此产生的一切后果均由使用者自行承担,与作者无关。 若您 fork 或使用本项目,请务必遵守相关法律法规与目标平台规则。

🛡️ 平台尊重声明

本项目在设计时严格遵循「非侵入式」原则,避免对目标服务器(如 Bilibili)造成任何干扰。 如本项目中存在侵犯 Bilibili 公司合法权益的内容,请通过邮箱 1055069518@qq.com 与我联系,我将第一时间下架相关内容并删除本仓库。对此造成的不便,我深表歉意,感谢您的理解与包容。

🤩 项目贡献者



Star History

Star History Chart

S
Description
No description provided
Readme
222 MiB
Languages
Python 90.8%
CSS 5.2%
Shell 2.8%
Batchfile 1.1%
Dockerfile 0.1%