Closed cbwang2016 closed 4 years ago
看洞里有人说用chrome插件的刷课机也出了问题? 这个repo的代码看起来没啥大问题,我推测可能是elective自己有一些race condition之类的bug,在访问频繁的时候容易出问题。 如果是这样的话,调低刷新频率可能有帮助。
@xmcp 那请问你觉得多大的刷新频率合适呢?我也早就猜测elective的race condition可能会导致退课了,elective线程不安全有很多明显的特征……结果没想到真的发生在了我身上,哎………………
按照 parser.py
应该是解不出 退选
的 DOM 的,除非选课网有bug或者lxml有bug,至少至今我不清楚这个问题在哪(如果它真的发生了)
@zhongxinghong 不一定是parser.py的问题,elective很多时候给出100/0和100/200这种选课人数,就是明显的unsafe证据……
那只能说是选课网的问题,没有日志的话我也没法分析错误在哪... 去年有人确实刷错过班,这个可能是因为选课网race,但是没有dump response我也分析不了,只能给出一种假象的猜测... 此外我在新版加了对 180/0 这种情况选课时的错误捕获,并且会在文件 error log 里记录这个错误,如果它真的发生了,你应该能在日志里找到它
同学您好,我们是《北大青年》的记者,正在关注刷课机相关问题。请问您是否愿意接受我们的采访,向我们提供更多有关信息呢?
我已经哭死了。。。 逻辑导论本身都刷上了,又给退了...真的太可怕了 麻烦作者好好检查一下有没有bug...
Check List
Version / Environment
System infomation: [Windows10 64bit] ( Windows10 64bit, MacOS 10.13.6, Ubuntu 18.04.3 amd64, ... ) Python version: [Python 3.7.4 ] ( run
python3 --version
) AutoElective version: [3.0.8] ( runpython3 main.py --version
)Config
除了学号/密码外的其他配置 supply_cancel_page = 1 refresh_interval = 0.1 random_deviation = 0.2 iaaa_client_timeout = 20 elective_client_timeout = 20 elective_client_pool_size = 1 login_loop_interval = 1 debug_print_request = false debug_dump_request = false [monitor] ; host str ; port int host = 127.0.0.1 port = 7074
[course:bug_1]
name = 数据结构与算法 (B) class = 1 school = 地球与空间科学学院
Issue Description
不知道为什么,开启刷课机过了一段时间之后,就把我一半的课退掉了。
What
不知道为什么,开启刷课机过了一段时间之后,就把我一半的课退掉了。
Console Log
由于Windows终端行数限制,Log被刷上去之后丢失了
Reproduce
如有必要,提供复现的步骤