Docker 启用单线程模式时 - Single=True 报错等待及建议
清单
- [x] 我已经仔细阅读过 README.md ( https://github.com/TechXueXi/TechXueXi/blob/developing/README.md )
- [x] 我已经仔细阅读过 文档 ( https://github.com/TechXueXi/TechXueXi/wiki )
- [x] 我已经查看/搜索过所有已有 issue,无论是open还是close的
- [x] 我已经通过搜索引擎搜索 www.google.com www.baidu.com
- [x] 我已经到提供的在线聊天室询问过 (聊天室说明:https://github.com/TechXueXi/TechXueXi/issues/14)
系统版本,包含位数:centos7.6
软件/源码版本:techxuexi/techxuexi-amd64
浏览器、驱动版本:chromedriver_linux64_92.0.4515.107
python版本:Python 2.7.5
docker版本:3.8
胡** 登录剩余有效时间:11.8 小时. 无需刷新
汪** 登录剩余有效时间:8.8 小时. 无需刷新 郑** 登录剩余有效时间:11.8 小时. 无需刷新 常** 登录剩余有效时间:8.3 小时. 无需刷新 张** 登录剩余有效时间:8.3 小时. 无需刷新 苏** 登录剩余有效时间:10.7 小时. 无需刷新 林** 登录剩余有效时间:10.7 小时. 无需刷新 万** 登录剩余有效时间:8.3 小时. 无需刷新 刘** 登录剩余有效时间:11.8 小时. 无需刷新 卢登录剩余有效时间:8.5 小时. 无需刷新 吴 登录剩余有效时间:11.9 小时. 无需刷新 韩** 登录剩余有效时间:8.3 小时. 无需刷新 何** 登录剩余有效时间:8.9 小时. 无需刷新 彭** 登录剩余有效时间:11.8 小时. 无需刷新 开启: 151001900648开始学xi 是否无头模式:True True 开启: 151021023开始学xi 开启: 151024939开始学xi 开启: 151035603开始学xi 开启: 151066445开始学xi 开启: 151070283开始学xi 开启: 151081621开始学xi 开启: 151083437开始学xi 开启: 151106420开始学xi 开启: 151111342开始学xi 开启: 151119158开始学xi 开启: 151124519开始学xi 开启: 151124874开始学xi 开启: 151124920开始学xi 开启: 151144160开始学xi 开启: 151146741开始学xi 开启: 151150263开始学xi 开启: 636132开始学xi 欢迎使用 TechXueXi [] TechXueXi最新下载地址为 https://github.com/TechXueXi/TechXueXi [] 程序版本为:v20211103 [] 最新版本为:v20211103 胡** 当前学 xi 总积分:20075 今日得分:44 阅读文章: 6 / 6 , 观看视频: 6 / 6 , 文章时长: 6 / 6 , 视频时长: 6 / 6 , 每日登陆: 0 / 1 , 每日答题: 5 / 5 , 每周答题: 5 / 5 , 专项答题: 10 / 10
{'errcode': 45015, 'errmsg': 'response out of time limit or subscription is canceled rid: 61d72d8f-237a5084-41bbd339'} 胡** 登录正常,开始学习...
开启: 文章学 xi 文章之前学完了 开启: 视频学 xi 视频之前学完了 开始每日答题…… 每日答题已满分. 开始每周答题…… 每周答题已满分. 开始专项答题…… 专项答题已满分.
{'errcode': 45015, 'errmsg': 'response out of time limit or subscription is canceled rid: 61d72d91-3f47be96-54f68d98'} 胡** 总计用时 0 分 2 秒
{'errcode': 0, 'errmsg': 'ok', 'msgid': 2212907870336188416} 账号1 当前学 xi 总积分:20075 今日得分:44 阅读文章:6 / 6,观看视频:6 / 6,文章时长:6 / 6,视频时长:6 / 6, 每日登陆:0 / 1,每日答题:5 / 5,每周答题:5 / 5,专项答题:10 / 10 无自动关机任务,已释放程序内存,窗口将自动关闭 是否无头模式:True True
{'errcode': 45015, 'errmsg': 'response out of time limit or subscription is canceled rid: 61d72d92-15111e38-39a16584'} 账号2 登录信息失效,请重新扫码 正在打开二维码登陆界面,请稍后 二维码将发往机器人...
{'errcode': 0, 'errmsg': 'ok', 'msgid': 2212907931422064640} http://102.35.48.406/index.html?url=https%3A%2F%2Flogin.xuexi.cn%2Flogin%2Fqrcommit%3Fshowmenu%3Dfalse%26code%3Dqr%3AD5C82D49-7B5A-4F06-A672-A6F61AF5FB13%26appId%3Ddingoankubyrfkttorhpou 扫描二维码超时... 错误信息:Message:
详细描述
答:账号1、3、4为有效cookie,账号2为失效cookie,启用单线程(- Single=True)时,执行完账号1,然后执行账号2时cookie失效,并推送二维码,如果账号2不重新登录,过一会程序会自动结束运行或一直卡着,可是账号3-4还没成功学习就被打断了。重复启动,依旧如此。
建议
答:我建议在单线程模式下 - Single=True,一组多账号中,其中某一个或几个账号cookie失效时,机器人发送登录二维码推送,并跳过失效账号,然后将登录失效账号排列在最后重新执行或下次运行时执行,再继续运行下一个有效账号。 可以避免,因有事未能及时登录,和以学习完成无需再登录的账号,影响其他未学习的账号正常学习。
提一嘴,可以运行多个docker容器每个容器一个账号,而不是在一个容器运行多个账号。(虽然这个方法治标不治本)
我也是遇到类似问题 执行完账号1,然后执行账号2时cookie失效,并推送二维码,如果账号2不重新登录,过一会程序会自动结束运行或一直卡着