fix: 阻塞地发送审计报告数据

This commit is contained in:
RockChinQ
2023-09-28 12:16:30 +00:00
parent ac80764fae
commit 3f4ed4dc3c

View File

@@ -5,6 +5,7 @@
import hashlib import hashlib
import json import json
import logging import logging
import threading
import requests import requests
@@ -42,15 +43,20 @@ class DataGatherer:
只会报告此次请求的使用量,不会报告总量。 只会报告此次请求的使用量,不会报告总量。
不包含除版本号、使用类型、使用量以外的任何信息,仅供开发者分析使用情况。 不包含除版本号、使用类型、使用量以外的任何信息,仅供开发者分析使用情况。
""" """
try:
config = pkg.utils.context.get_config() def thread_func():
if not config.report_usage:
try:
config = pkg.utils.context.get_config()
if not config.report_usage:
return
res = requests.get("http://reports.rockchin.top:18989/usage?service_name=qchatgpt.{}&version={}&count={}&msg_source={}".format(subservice_name, self.version_str, count, config.msg_source_adapter))
if res.status_code != 200 or res.text != "ok":
logging.warning("report to server failed, status_code: {}, text: {}".format(res.status_code, res.text))
except:
return return
res = requests.get("http://reports.rockchin.top:18989/usage?service_name=qchatgpt.{}&version={}&count={}&msg_source={}".format(subservice_name, self.version_str, count, config.msg_source_adapter))
if res.status_code != 200 or res.text != "ok": threading.Thread(target=thread_func).start()
logging.warning("report to server failed, status_code: {}, text: {}".format(res.status_code, res.text))
except:
return
def get_usage(self, key_md5): def get_usage(self, key_md5):
return self.usage[key_md5] if key_md5 in self.usage else {} return self.usage[key_md5] if key_md5 in self.usage else {}