华师匣子成绩查询服务
单独部署:
$ docker-compose stop && docker-compose build && dockder-compose up -d &&
docker-compose ps
- 2017年4月29日: 拖了2个月了...ㄟ( ▔, ▔ )ㄏ
- 2018年7月19日: 将缓存从redis变更置mongodb,添加swagger API文档
下面的数据以2017-2018学年为例:
学期 | xnm | xqm | 大致时间分布 | 预计公布成绩日期 |
---|---|---|---|---|
第一学期 | 2017 | 3 | 2017.9.1-2018.1.29 | 2017.11.1-2018.3.1 |
第二学期 | 2017 | 12 | 2018.3.1-2018.6.30 | 2018.5.1-2018.9.1 |
第三学期 | 2017 | 16 | 2018.7.1-2018.7.13 | 2018.7.1-2018.9.1 |
由于学校网站出成绩时不是一次性给出成绩,所以考虑了成绩更新的问题。用户每次请求都去学校网站爬取数据,然后将爬取的数据与缓存中的数据相比较,判断学校网站数据是否更新,如更新则同时更新缓存。如果未能成功从学校网站爬来数据,则返回已经存在缓存中的数据。
用户第一次查询的时候,去学校网站上爬取成绩信息,然后将结果缓存到mongo中,之后的查询直接从mongo中取数据即可。(以往学年的成绩已经固定,不用考虑更新问题)
- MONGO_HOST:MONGO所在主机名,默认locahost
- MONGO_PORT:MONGO监听端口,默认27017
- MONGO_ACCOUNT:MONGO用户名,默认None
- MONGO_PASSWORD:MONGO密码,默认None