ECNU/open-geoip

运行一段时间突然不提供服务了

Opened this issue · 3 comments

image
报错信息如上,使用了GeoLite2-City.mmdb数据库,开启了geoip自动更新。
这时候服务进程还在,接口返回json,但是没有任何信息.

{
    "errCode": 0,
    "errMsg": "success",
    "requestId": "327cbf53-98e3-4f45-8e4a-c90c70160227",
    "data": {
        "ip": "114.114.114.114",
        "continent": "",
        "country": "",
        "province": "",
        "city": "",
        "district": "",
        "isp": "",
        "areaCode": "",
        "countryEnglish": "",
        "countryCode": "",
        "longitude": "",
        "latitude": ""
    }
}

重启之后恢复正常

感觉是更新的时候 mmdb 写坏了
看看能不能提供下出现故障时的 debug 日志,以及故障出现时的 mmdb 文件(或者比对下故障时的 mmdb 文件的 sha256 和重启恢复正常运行时的 sha256)

感觉大佬解答,项目运行没有开启debug日志,找不到之前的日志了。上次重启后我关闭了自动更新,目前运行正常,应该是更新文件不完整的原因。程序是否可以加个更新检测,保证下载的文件是完成的再替换重载。

嗯,应该先下载到一个 tmp 文件,checksum 以后再 copy 过去
#20

欢迎贡献 PR ~