1
silverty 2013-03-21 23:26:33 +08:00
先判断urllib访问学校网站的响应时间有多少,可能是学校网站的运行效率太低了。
|
2
cloverstd OP @silverty
我测试了下直接打开网站并且 read(),时间在 1s 以下 然后测试了下登录并且 read(),时间从 1s 以下到 10s 都有 学校网站本来就是个渣,如果是学校网站效率太低,请问有没有什么解决方法? |
3
leiz 2013-03-22 00:13:41 +08:00
把从学校网站查到的信息存下来,缓存或者直接存本地服务器
|
4
for4 2013-03-22 00:22:18 +08:00 1
让同学多查询几次, 第一次触发查询任务并入库. 第二次直接从自己的数据库读取.
没有太好的办法解决的... |
5
nsxuan 2013-03-22 02:23:29 +08:00 via iPad
正方教务?
|
6
lbj96347 2013-03-22 03:09:41 +08:00
爬虫的东西,的确会受到学校网络的限制。建议如果学号这些东西有规律的话,根据规律,把相同班级的一些同学拿到的基本数据存下来,在自己的服务器上查询就快好多了。最糟糕就是选修课的情况,如果是选修课的话大家都不同。你又必须去爬...
|
7
vigoss 2013-03-22 07:56:22 +08:00 via Android
异步执行任务,每来一次请求先加入队列。然后再多次尝试。高性能必须依赖异步
|
8
cloverstd OP |
10
vigoss 2013-03-22 08:21:12 +08:00 via Android
@cloverstd 你不是说是2秒到10秒么?存下队列后超时就留下再尝试。
还是我理解错了,微信我不清楚。是只能在客户端发出指令的5秒内做出响应么?能不能记录下客户端的id什么的之后再发结果。第一次先发个正在查询中,前后会再发一条 |
11
cloverstd OP @vigoss 用户发微信,微信公众平台收到后把消息 POST 我的服务器,这个连接只持续 5s,所以说我服务器端处理数据的时间只有 5s,微信又不能主动推送
|
12
loveminds 2013-03-22 09:42:22 +08:00 via iPhone
这个服务器尽量放在离校园网近的地方
我不知道Host700是BGP还是单线接入 但不建议使用延迟过大(大于等于75)ms的机器 如果你们学校有电信/联通的外网出口的话,尽量选择就近的合适线路机器 如果仅有赛尔,那就需要另行测试 |
13
thursday 2013-03-22 10:03:15 +08:00
您的查询请求已经提交。由于校方服务器问题。大约需要1分钟后才能处理结束。请一分钟后 重新提交查询。
|