-
-
Notifications
You must be signed in to change notification settings - Fork 336
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
插件异常导致机器人断线问题 #31
Comments
大概率是和 #22 同样的问题,可以看一下 |
OK 好的,我回去试试自己心跳(嗯我的反向 WebSocket 也是在阿里云。。) 不过自己的代码写出 bug 产生异常很容易发生,希望可以做到我的代码出问题没有 except none 有一个全局的 except 吧 |
None 现在命令有全局 except |
但是我只要是自己的插件出问题控制台报错以后 100% 出现给机器人发消息插件能收到消息但是回复消息失败…… 另外就是出问题以后 Ctrl+C 退出机器人的时候错误日志会出现一次 |
换句话说,现在的全局 except 似乎只做到了没有断开 event(事件上报正常),但是 api 会断开(调用命令回复失败) |
api 连接的问题,多半是因为 #22 None 的命令处理已经捕获了所有异常,理论上不太可能在命令里出现让连接断开的情况了,总之有空你先试下那个 issue 里的解法 |
OK 好的 |
做了每分钟一次 get_status,然后稳定运行了一个多小时到今天的 3:01,3:02 开始就调用失败了…… 依然是能收到事件发不出去消息 |
@ImSingee NoneBot 日志里面有什么异常嘛,除了 ApiNotFound |
我现在只能看到 ApiNotFound…… 昨天三点多的日志被刷掉了,一会我加一下日志存储吧,等再掉线了看看掉线前后时间点的日志 |
唔……那么你的 NoneBot 和插件通信是走公网 IP 的吗,还是本机 |
公网…… CoolQ 运行在一台 Windows 上,None 部署在了腾讯云 |
我发了个 v0.5.2,给命令、自然语言处理器、通知和请求处理器都加了全局 except,你试试看 另外还是建议 酷Q 和后端跑在同一个机器上,因为国内那些云确实会掐连接 |
OK 我再试试。。 |
好吧很诡异依然掉线 能否考虑支持把 api 和 event 放到一个连接的模式?因为我看 event 并不会断…… |
哎我读了一下 aiocqhttp 的源码发现支持这个…… 我去试试 |
@ImSingee 嗯现在支持 Universal 客户端,两个在同一个连接上 |
OK,换成一个连接 + Universal 稳定了 |
现在支持一个链接了?!之前看旧的issues还说不支持来着……
这样么? |
@yorushika 是这样 |
经常出现一种情况是 CoolQ Http API 上报消息成功,但是回复消息失败
目前发现的一定会出现这种情况的情形:代码出了问题产生异常未处理
还有一种不太确定的情况是长时间无人给机器人发消息(额也可能是这期间出现了触发异常的消息?没存日志……)
因为没有保存具体的日志因此暂时没办法贴出问题日志来。。如果需要的话我再写相关代码存吧【另外说一句,希望给一个便捷的文件存储的 Handler 而不是我自己写。。】
在 CoolQ Http API 插件重启即可解决
因此猜测此问题发生的原因:异常导致了 websocket 连接中断
建议的解决方案:全局加上异常处理防止 plugin 导致 websocket 连接断开
The text was updated successfully, but these errors were encountered: