Revert "refactor(report): 移除HTML报告生成功能"

This reverts commit bc533880dd.
This commit is contained in:
minecraft1024a
2025-11-13 11:35:41 +08:00
parent b1c0ddeb6e
commit 81b83c88dc
2 changed files with 469 additions and 0 deletions

View File

@@ -16,6 +16,7 @@ logger = get_logger("maibot_statistic")
# 彻底异步化:删除原同步包装器 _sync_db_get所有数据库访问统一使用 await db_get。
from .report_generator import HTMLReportGenerator, format_online_time
from .statistic_keys import *
@@ -180,6 +181,16 @@ class StatisticOutputTask(AsyncTask):
logger.info("统计数据收集完成")
self._statistic_console_output(stats, now)
# 使用新的 HTMLReportGenerator 生成报告
chart_data = await self._collect_chart_data(stats)
deploy_time = datetime.fromtimestamp(local_storage.get("deploy_time", now.timestamp()))
report_generator = HTMLReportGenerator(
name_mapping=self.name_mapping,
stat_period=self.stat_period,
deploy_time=deploy_time,
)
await report_generator.generate_report(stats, chart_data, now, self.record_file_path)
logger.info("统计数据HTML报告输出完成")
except Exception as e:
logger.exception(f"输出统计数据过程中发生异常,错误信息:{e}")
@@ -196,6 +207,18 @@ class StatisticOutputTask(AsyncTask):
logger.info("(后台) 正在收集统计数据(异步)...")
stats = await self._collect_all_statistics(now)
self._statistic_console_output(stats, now)
# 使用新的 HTMLReportGenerator 生成报告
chart_data = await self._collect_chart_data(stats)
deploy_time = datetime.fromtimestamp(local_storage.get("deploy_time", now.timestamp()))
report_generator = HTMLReportGenerator(
name_mapping=self.name_mapping,
stat_period=self.stat_period,
deploy_time=deploy_time,
)
await report_generator.generate_report(stats, chart_data, now, self.record_file_path)
logger.info("统计数据后台输出完成")
except Exception as e:
logger.exception(f"后台统计数据输出过程中发生异常:{e}")