Dawnnnnnn / bilibili-live-tools

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

新版容易出现卡住的情况 #259

Closed xia-i closed 4 years ago

xia-i commented 4 years ago

也不知道什么原因,云vps和自己电脑都这样

phdsx commented 4 years ago

+1

Elu-Thingol commented 4 years ago

+1

yawwwwwn commented 4 years ago

修复了一个 TCP client 部分报 exception 导致 event_loop 结束的问题。然后也加了 event_loop 结束的时候输出 tasks 信息。建议更新最新的 commit 然后出错的时候把输出的信息贴上来。

witrian commented 4 years ago

升级了最新的commit,确实比较好了 但是偶尔还是会卡住,比如刚启动的时候, 比如下图, 在19:59:49 卡住,我重启后又可以了 image

还有这种说检测到之后就卡住了 image

有什么需要开其他log吗?

Sakura9s commented 4 years ago

我挂服务器里然后卡主了,一天的辣条都没了。

Sakura9s commented 4 years ago

还有运行到一半卡主的,辣条抢着抢着不抢了,停住了。

henut commented 4 years ago

总是莫名就停住了

yawwwwwn commented 4 years ago

已关闭 issue 中的相似反馈链接过来。 我本地挂一下看看哪里的问题,自己 Linux 服务器4个号俩月了一点事没……

henut commented 4 years ago

我看着直播在本地挂这着的时候 就会停住 有时候就单单挂在那里也会停住

xia-i commented 4 years ago

修复了一个 TCP client 部分报 exception 导致 event_loop 结束的问题。然后也加了 event_loop 结束的时候输出 tasks 信息。建议更新最新的 commit 然后出错的时候把输出的信息贴上来。

卡住并不会输出任何信息,晚上礼物多的时候很容易卡住

CberYellowstone commented 4 years ago

我也是这样的情况 centos7 python3.8 莫名其妙就卡住了 每天都会卡一次(所以我每天手动重启脚本) 需要什么log吗

CberYellowstone commented 4 years ago

@yawwwwwn

13160230636 commented 4 years ago

新版压缩包能发我一个吗  

我们生来就不该让我们生活周围那些鄙夷我们的,唾弃我们的,赞赏我们的,关心我们的,憎恨我们的,深爱我们的人失望...

 

------------------ 原始邮件 ------------------ 发件人: "CberYellowstone"<notifications@github.com>; 发送时间: 2020年2月23日(星期天) 下午4:10 收件人: "Dawnnnnnn/bilibili-live-tools"<bilibili-live-tools@noreply.github.com>; 抄送: "Subscribed"<subscribed@noreply.github.com>; 主题: Re: [Dawnnnnnn/bilibili-live-tools] 新版容易出现卡住的情况 (#259)

我也是这样的情况 centos7 python3.8 莫名其妙就卡住了 每天都会卡一次(所以我每天手动重启脚本) 需要什么log吗

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub, or unsubscribe.

CberYellowstone commented 4 years ago

@13160230636 ?

13160230636 commented 4 years ago

OK  

我们生来就不该让我们生活周围那些鄙夷我们的,唾弃我们的,赞赏我们的,关心我们的,憎恨我们的,深爱我们的人失望...

 

------------------ 原始邮件 ------------------ 发件人: "CberYellowstone"<notifications@github.com>; 发送时间: 2020年2月23日(星期天) 晚上6:45 收件人: "Dawnnnnnn/bilibili-live-tools"<bilibili-live-tools@noreply.github.com>; 抄送: "常丶尐虫"<873506702@qq.com>; "Mention"<mention@noreply.github.com>; 主题: Re: [Dawnnnnnn/bilibili-live-tools] 新版容易出现卡住的情况 (#259)

@13160230636 ?

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub, or unsubscribe.

2314933036 commented 4 years ago

OK   我们生来就不该让我们生活周围那些鄙夷我们的,唾弃我们的,赞赏我们的,关心我们的,憎恨我们的,深爱我们的人失望...   ------------------ 原始邮件 ------------------ 发件人: "CberYellowstone"<notifications@github.com>; 发送时间: 2020年2月23日(星期天) 晚上6:45 收件人: "Dawnnnnnn/bilibili-live-tools"<bilibili-live-tools@noreply.github.com>; 抄送: "常丶尐虫"<873506702@qq.com>; "Mention"<mention@noreply.github.com>; 主题: Re: [Dawnnnnnn/bilibili-live-tools] 新版容易出现卡住的情况 (#259) @13160230636 ? — You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub, or unsubscribe.

你发的什么乱七八糟的?要发去QQ空间,随你怎么发

13160230636 commented 4 years ago

OK  

------------------ 原始邮件 ------------------ 发件人: "CberYellowstone"<notifications@github.com>; 发送时间: 2020年2月23日(星期天) 晚上6:45 收件人: "Dawnnnnnn/bilibili-live-tools"<bilibili-live-tools@noreply.github.com>; 抄送: "常丶尐虫"<873506702@qq.com>; "Mention"<mention@noreply.github.com>; 主题: Re: [Dawnnnnnn/bilibili-live-tools] 新版容易出现卡住的情况 (#259)

@13160230636 ?

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub, or unsubscribe.

shoucandanghehe commented 4 years ago

对于辣条机运行卡住我的解决方案是 使用shell脚本定时检测辣条机是否连续5min或以上没有输出log B站连续5分钟没有抽奖的时候还是蛮少的,我个人觉得这个频率刚好 使用crontab每分钟执行一次脚本 * * * * * /bin/bash /脚本存放路径/auto_reboot_bilibili_live.sh 脚本内有几个变量和数值需要自行修改 已标注 auto_reboot_bilibili_live.zip 仅为各位大佬提供临时解决思路及方案(个人认为临时解决可用)

JM-KANE commented 4 years ago

应该还是领舰长的问题,只领辣条抽奖就还好

Billyzou0741326 commented 4 years ago

哈欠大佬 看看ReceiveMessageLoop是不是应该放进try里 这个是有概率raise的吧 https://github.com/Dawnnnnnn/bilibili-live-tools/blob/66db5ca5d61bcf8bf5aa47da616277d8a7ddf4a7/TCP_monitor.py#L49

shoucandanghehe commented 4 years ago

升级了最新的commit,确实比较好了 但是偶尔还是会卡住,比如刚启动的时候, 比如下图, 在19:59:49 卡住,我重启后又可以了 image

还有这种说检测到之后就卡住了 image

有什么需要开其他log吗?

我这也开始花式报错了 [2020-02-28 07:25:36] [Info] 开始执行每日任务 [2020-02-28 07:25:36] [Info] 签到状态:今日已签到过,无法重复签到 [2020-02-28 07:25:37] [Info] 双端观看直播:奖励已领取 [2020-02-28 07:25:48] [Error] Traceback (most recent call last): File "/root/1024/Tasks.py", line 138, in run await self.auto_send_gift() File "/root/1024/Tasks.py", line 79, in auto_send_gift a = await utils.fetch_medal(printer=False) File "/root/1024/utils.py", line 55, in fetch_medal roomid = i['roomid'] KeyError: 'roomid' 就无限循环 同时挂了5个号就发现这一个会这样报错,就很奇怪

shoucandanghehe commented 4 years ago

升级了最新的commit,确实比较好了 但是偶尔还是会卡住,比如刚启动的时候, 比如下图, 在19:59:49 卡住,我重启后又可以了 image 还有这种说检测到之后就卡住了 image 有什么需要开其他log吗?

我这也开始花式报错了 [2020-02-28 07:25:36] [Info] 开始执行每日任务 [2020-02-28 07:25:36] [Info] 签到状态:今日已签到过,无法重复签到 [2020-02-28 07:25:37] [Info] 双端观看直播:奖励已领取 [2020-02-28 07:25:48] [Error] Traceback (most recent call last): File "/root/1024/Tasks.py", line 138, in run await self.auto_send_gift() File "/root/1024/Tasks.py", line 79, in auto_send_gift a = await utils.fetch_medal(printer=False) File "/root/1024/utils.py", line 55, in fetch_medal roomid = i['roomid'] KeyError: 'roomid' 就无限循环 同时挂了5个号就发现这一个会这样报错,就很奇怪

重启也没用,不是偶发性bug

Billyzou0741326 commented 4 years ago

API返回值变了吧 https://github.com/Dawnnnnnn/bilibili-live-tools/blob/66db5ca5d61bcf8bf5aa47da616277d8a7ddf4a7/utils.py#L52-L57

shoucandanghehe commented 4 years ago

API返回值变了吧 https://github.com/Dawnnnnnn/bilibili-live-tools/blob/66db5ca5d61bcf8bf5aa47da616277d8a7ddf4a7/utils.py#L52-L57

应该不是吧,我这里其它4个号都没问题

shoucandanghehe commented 4 years ago

升级了最新的commit,确实比较好了 但是偶尔还是会卡住,比如刚启动的时候, 比如下图, 在19:59:49 卡住,我重启后又可以了 image 还有这种说检测到之后就卡住了 image 有什么需要开其他log吗?

我这也开始花式报错了 [2020-02-28 07:25:36] [Info] 开始执行每日任务 [2020-02-28 07:25:36] [Info] 签到状态:今日已签到过,无法重复签到 [2020-02-28 07:25:37] [Info] 双端观看直播:奖励已领取 [2020-02-28 07:25:48] [Error] Traceback (most recent call last): File "/root/1024/Tasks.py", line 138, in run await self.auto_send_gift() File "/root/1024/Tasks.py", line 79, in auto_send_gift a = await utils.fetch_medal(printer=False) File "/root/1024/utils.py", line 55, in fetch_medal roomid = i['roomid'] KeyError: 'roomid' 就无限循环 同时挂了5个号就发现这一个会这样报错,就很奇怪

@yawwwwwn @Dawnnnnnn 我想我找到问题了 他挂的这个粉丝勋章 并没有开直播间 但是这人又让我开了自动送辣条 我现在关了,没有发生循环报错了 不过用命令“4”查询勋章状态的时候还是报错(毕竟都没有直播间号) Task exception was never retrieved future: <Task finished coro=<fetch_medal() done, defined at /root/1024/utils.py:39> exception=KeyError('roomid')> Traceback (most recent call last): File "/root/1024/utils.py", line 55, in fetch_medal roomid = i['roomid'] KeyError: 'roomid' 或许可以加一条检测来解决?

yawwwwwn commented 4 years ago

哈欠大佬 看看ReceiveMessageLoop是不是应该放进try里 这个是有概率raise的吧 https://github.com/Dawnnnnnn/bilibili-live-tools/blob/66db5ca5d61bcf8bf5aa47da616277d8a7ddf4a7/TCP_monitor.py#L49

但是 ReceiveMessageLoop() 调用的 ReadSocketData() 每一步都是有 try 的。

@yawwwwwn @Dawnnnnnn 我想我找到问题了 他挂的这个粉丝勋章 并没有开直播间 但是这人又让我开了自动送辣条 我现在关了,没有发生循环报错了 不过用命令“4”查询勋章状态的时候还是报错(毕竟都没有直播间号) Task exception was never retrieved future: <Task finished coro=<fetch_medal() done, defined at /root/1024/utils.py:39> exception=KeyError('roomid')> Traceback (most recent call last): File "/root/1024/utils.py", line 55, in fetch_medal roomid = i['roomid'] KeyError: 'roomid' 或许可以加一条检测来解决?

懂了,这个情况我确实没想到,之后会修复。

Billyzou0741326 commented 4 years ago

嗯 之前确实没注意到233 这就定位了 异步的task太多了…

witrian commented 4 years ago

对了,最近偶尔也会遇到这个error:

[Error] Traceback (most recent call last): File "C:\bilibili\bilibili-live-tools\Tasks.py", line 132, in run await self.Daily_bag() File "C:\bilibili\bilibili-live-tools\Tasks.py", line 23, in Daily_bag for i in range(0, len(json_response['data']['bag_list'])): TypeError: object of type 'NoneType' has no len()

witrian commented 4 years ago

@yawwwwwn 哈欠大佬 我试着自己加 log 找出卡在哪里, 发现好象是在等舰长服务器反馈 image

image

Billyzou0741326 commented 4 years ago

看了下requests的文档 加一个timeout吧 https://requests.readthedocs.io/en/master/user/quickstart/#timeouts

yawwwwwn commented 4 years ago

@yawwwwwn @Dawnnnnnn 我想我找到问题了 他挂的这个粉丝勋章 并没有开直播间 但是这人又让我开了自动送辣条 我现在关了,没有发生循环报错了 不过用命令“4”查询勋章状态的时候还是报错(毕竟都没有直播间号) Task exception was never retrieved future: <Task finished coro=<fetch_medal() done, defined at /root/1024/utils.py:39> exception=KeyError('roomid')> Traceback (most recent call last): File "/root/1024/utils.py", line 55, in fetch_medal roomid = i['roomid'] KeyError: 'roomid' 或许可以加一条检测来解决?

看了下requests的文档 加一个timeout吧 https://requests.readthedocs.io/en/master/user/quickstart/#timeouts

已修复 #7314876

witrian commented 4 years ago

@yawwwwwn 下面两个也可以考虑关了

273

265