继续优化数据库

This commit is contained in:
2026-07-30 10:59:44 +08:00
parent 4e20d7edac
commit 08dec03371
7 changed files with 721 additions and 108 deletions

41
app.py
View File

@@ -12,7 +12,7 @@ import pytz
from lib.db import execute_query
from lib.report_generator import generate_daily_report
from lib.api import register_blueprints
from lib.db_init import init_database_tables
from lib.db_init import init_database_tables, optimize_sum_data_indexes
from lib.logger import log_info, log_error, log_warning
from lib.api.download_api import cleanup_old_temp_zips
from lib.api.auth_api import get_current_user
@@ -33,6 +33,13 @@ register_blueprints(app)
log_info('正在初始化数据库表...', 'app')
if init_database_tables():
log_info('数据库表初始化成功', 'app')
# 优化求和数据表索引
log_info('正在优化数据库索引...', 'app')
if optimize_sum_data_indexes():
log_info('数据库索引优化成功', 'app')
else:
log_warning('数据库索引优化失败,但不影响正常使用', 'app')
else:
log_error('数据库表初始化失败,请检查数据库连接', 'app')
@@ -145,12 +152,40 @@ def scheduled_job():
log_error(f'定时任务执行失败:{e}', 'scheduler')
# 启动定时任务
# ==================== 启动定时任务 ====================
scheduler = BackgroundScheduler(timezone='Asia/Shanghai')
scheduler.add_job(scheduled_job, 'cron', hour=8, minute=30)
scheduler.add_job(cleanup_old_temp_zips, 'interval', hours=1)
# 添加 Doris 表统计信息定时优化任务每天凌晨3点执行
def optimize_doris_tables():
"""定期优化 Doris 表统计信息"""
try:
log_info('开始执行 Doris 表统计信息优化...', 'scheduler')
from lib.doris_optimize import optimize_doris_table
tables = [
't_daily_report_sum_data',
't_daily_report_config',
't_daily_report_history',
]
for table in tables:
try:
optimize_doris_table(table)
log_info(f'{table} 统计信息优化完成', 'scheduler')
except Exception as e:
log_warning(f'{table} 统计信息优化失败: {e}', 'scheduler')
log_info('Doris 表统计信息优化完成', 'scheduler')
except Exception as e:
log_error(f'Doris 表统计信息优化失败: {e}', 'scheduler')
scheduler.add_job(optimize_doris_tables, 'cron', hour=3, minute=0)
scheduler.start()
log_info('定时任务已启动:每天 08:30 执行日报生成,每小时清理临时文件', 'app')
log_info('定时任务已启动:每天 08:30 执行日报生成,每小时清理临时文件,每天 03:00 优化 Doris 统计信息', 'app')
# ==================== 启动应用 ====================