Dawnnnnnn / bilibili-live-tools

python实现的bilibili直播助手
MIT License
792 stars 171 forks source link

定时休眠逻辑bug? #276

Closed shoucandanghehe closed 4 years ago

shoucandanghehe commented 4 years ago

刚刚更新的最新版本 明明没有开定时休眠却自动休眠了 sh-5.0# python3 main.py start OK! use the absolute path of python to run /usr/bin/python3 [2020-03-03 23:08:08] [Info] 复用cookie [2020-03-03 23:08:08] [Info] 心跳 [2020-03-03 23:08:08] [Info] 检查宝箱状态 [2020-03-03 23:08:08] [Info] 开始执行每日任务 [2020-03-03 23:08:16] [Info] 定时休眠,跳过房间 21426464 编号 2138247 的上船奖励 [2020-03-03 23:08:16] [Info] 定时休眠,跳过房间 4066032 编号 2138248 的上船奖励 [2020-03-03 23:08:17] [Info] 定时休眠,跳过房间 2404307 编号 2138249 的上船奖励 [2020-03-03 23:08:17] [Info] 签到状态:今日已签到过,无法重复签到 [2020-03-03 23:08:17] [Info] 定时休眠,跳过房间 64540 编号 2138250 的上船奖励 [2020-03-03 23:08:17] [Info] 定时休眠,跳过房间 20602 编号 2138251 的上船奖励 [2020-03-03 23:08:17] [Info] 定时休眠,跳过房间 21469683 编号 2138252 的上船奖励 [2020-03-03 23:08:17] [Info] 双端观看直播:奖励已领取 [2020-03-03 23:08:17] [Info] 定时休眠,跳过房间 58593 编号 2138253 的上船奖励 [2020-03-03 23:08:18] [Info] 定时休眠,跳过房间 9591764 编号 2138256 的上船奖励 [2020-03-03 23:08:18] [Info] 定时休眠,跳过房间 9565979 编号 2138257 的上船奖励 [2020-03-03 23:08:18] [Info] 定时休眠,跳过房间 4907618 编号 213825 user.conf

设置定时休眠时段,24h制,不同时间段间用;连接,如 12:30:00-14:00:00;01:00:00-08:00:00

[regular_sleep] on/off = 0 schedule =

witrian commented 4 years ago

273

https://github.com/Dawnnnnnn/bilibili-live-tools/issues/273#issuecomment-593996092

shoucandanghehe commented 4 years ago

另外还有这种逻辑bug... 明明都知道缺失了还跳过 [2020-03-03 23:12:25] [Info] 发现监控缺失 [4] [2020-03-03 23:12:25] [Info] [4绘画分区] 近已检查,跳过

yawwwwwn commented 4 years ago

第一个 bug 已修复 #ed20499

第二个跳过是因为“近已检查”。如果还有异议建议多贴点前后的 log 上来。

shoucandanghehe commented 4 years ago

第一个bug已修复#ed20499

第二个跳过是因为“近已检查”。如果还有异议建议多贴点前后的log上来。

个人认为是不是“发现监控缺失”就立刻“检查分区”绕过“近已检查”比较好 另外我刚刚翻了一下log 目前没发现新的bug 不过卡住的情况还是有 [2020-03-04 04:51:54] [Info] 心跳
[2020-03-04 04:52:46] [Lottery] 获取到房间 21417013 编号 2139528 的上船奖励: 粉丝勋章亲密度+1(当前佩戴) [2020-03-04 04:57:04] [Info] 复用cookie
[2020-03-04 04:57:04] [Info] 心跳
[2020-03-04 04:57:05] [Info] 检查宝箱状态
[2020-03-04 04:57:05] [Info] 开始执行每日任务
[2020-03-04 04:57:06] [Info] 签到状态:今日已签到过,无法重复签到 ↑是我脚本检测到重启的(5min无响应) 不过也有可能是我机子网络问题 另外像

269

说的建议 如果像修改密码之类等让cookie失效 程序也会不停使用旧cookie尝试 加一个cookie失效+重登失败就让用户重新输入账密使用体验会更好一点

witrian commented 4 years ago

你这个时间点… 5min无响应是有很大可能的, 卡死,接下来没法跑正常的task才是需要被解决的。 这个卡住很可能就是没输出log而已 原因:

  1. 印象中,心跳包的更新超过5分钟
  2. 你可能网络不好,舰长服务器已经timeout了,目前timeout没有log输出
  3. 舰长服务器连上了,不过没有新的舰长(大半夜5分钟没新舰长也是很正常的…),目前也是没有log的

解决方法: 加长你的检测时间 自己在舰长服务器反馈的代码加log

还有就是… 最好不要在一个issue下面,一直增加或讨论不相关的另一个issue,这样哈欠大佬或者曙光大佬也是很难处理的

Billyzou0741326 commented 4 years ago

timeout有log输出, try except在这里: https://github.com/Dawnnnnnn/bilibili-live-tools/blob/ed20499437c625f6aecd8d8a007c07d01f07d46c/biliconsole.py#L80-L83

上次commit https://github.com/Dawnnnnnn/bilibili-live-tools/commit/731487601e06f8d598d1db03c924b58a87a80491 已经解决了卡程序的问题 不建议检测重启

yawwwwwn commented 4 years ago

个人认为是不是“发现监控缺失”就立刻“检查分区”绕过“近已检查”比较好

我再说一遍,我的逻辑是“发现监控缺失”但“近已检查”于是绕过“检查分区”,因为可能不久之前刚开始运行重连任务,还在处理中。且通过监控到的高能覆盖情况只是辅助判断监控正常情况。 不要你觉得,如果确实该逻辑影响了分区监控的完整性,请贴 log。

另外像

269

说的建议 如果像修改密码之类等让cookie失效 程序也会不停使用旧cookie尝试 加一个cookie失效+重登失败就让用户重新输入账密使用体验会更好一点

269 的建议是合理的。但是由于该项目中向 .conf 文件存账号信息的写法没有提供现成的更新账号密码的函数,而且也不是会在无人托管的情形下出的问题(你自己修改了破站密码怎么都要到脚本这来改密码啊),故该问题先搁置。

最后是老生常谈,即使你在一个 issue 里提及另一个 issue 时 GitHub 会生成链接,也还是建议直接去目标 issue 讨论问题。

shoucandanghehe commented 4 years ago

个人认为是不是“发现监控缺失”就立刻“检查分区”绕过“近已检查”比较好

我再说一遍,我的逻辑是“发现监控缺失”但“近已检查”于是绕过“检查分区”,因为可能不久之前刚开始运行重连任务,还在处理中。且通过监控到的高能覆盖情况只是辅助判断监控正常情况。 不要你觉得,如果确实该逻辑影响了分区监控的完整性,请贴 log。

这个逻辑是我想的太简单了,确实可能会造成重复检测

另外像

269

说的建议 如果像修改密码之类等让cookie失效 程序也会不停使用旧cookie尝试 加一个cookie失效+重登失败就让用户重新输入账密使用体验会更好一点

269 的建议是合理的。但是由于该项目中向 .conf 文件存账号信息的写法没有提供现成的更新账号密码的函数,而且也不是会在无人托管的情形下出的问题(你自己修改了破站密码怎么都要到脚本这来改密码啊),故该问题先搁置。

能给命令行用户省两行命令233 搁,都可以搁

最后是老生常谈,即使你在一个 issue 里提及另一个 issue 时 GitHub 会生成链接,也还是建议直接去目标 issue 讨论问题。

我会多注意的,这个issue我先关掉了