Files
param-auto-manager/app.py
T
hz4th_coder 8f0efe28b6 feat: 新增产品处理流程监控功能
- 新增处理会话表(process_sessions)和步骤表(process_steps)
- 支持实时查看每个产品的处理步骤进度
- 支持暂停/继续/停止正在进行的处理
- 处理步骤包括:搜索内容库、搜索互联网、抓取网页、提取数据、填充字段、提交审核
- 新增处理监控页面 /process
- 每个步骤记录详细数据、耗时、状态
- 历史记录可查看每个步骤的执行详情
2026-07-14 12:23:49 +08:00

109 lines
2.7 KiB
Python

"""
参数数据自动化管理系统
"""
from flask import Flask, jsonify, render_template, send_from_directory
from flask_cors import CORS
from config import Config
from models.database import db
from utils.scheduler import task_scheduler, setup_auto_process_job
import logging
import os
# 配置日志
logging.basicConfig(
level=logging.INFO,
format='%(asctime)s - %(name)s - %(levelname)s - %(message)s',
handlers=[
logging.FileHandler(os.path.join(Config.LOG_DIR, 'app.log')),
logging.StreamHandler()
]
)
logger = logging.getLogger('param_auto_manager')
# 创建Flask应用
app = Flask(__name__)
CORS(app)
# 注册路由
from routes.articles import bp as articles_bp
from routes.products import bp as products_bp
from routes.system import bp as system_bp
from routes.tasks import bp as tasks_bp
from routes.process_monitor import bp as process_monitor_bp
app.register_blueprint(articles_bp)
app.register_blueprint(products_bp)
app.register_blueprint(system_bp)
app.register_blueprint(tasks_bp)
app.register_blueprint(process_monitor_bp)
# 首页
@app.route('/')
def index():
return render_template('index.html')
# 搜索页面
@app.route('/search')
def search_page():
return render_template('search.html')
# 内容库页面
@app.route('/library')
def library_page():
return render_template('library.html')
# 处理监控页面
@app.route('/process')
def process_page():
return render_template('process.html')
# API首页
@app.route('/api')
def api_index():
return jsonify({
'name': 'Param Auto Manager',
'version': '1.0.0',
'description': '参数数据自动化管理系统',
'endpoints': {
'articles': '/api/articles',
'products': '/api/products',
'system': '/api/system'
}
})
# 静态文件
@app.route('/static/<path:filename>')
def static_files(filename):
return send_from_directory('static', filename)
# 错误处理
@app.errorhandler(404)
def not_found(error):
return jsonify({'error': '资源不存在'}), 404
@app.errorhandler(500)
def internal_error(error):
return jsonify({'error': '服务器内部错误'}), 500
if __name__ == '__main__':
# 确保日志目录存在
os.makedirs(Config.LOG_DIR, exist_ok=True)
os.makedirs(os.path.dirname(Config.DATABASE), exist_ok=True)
# 初始化数据库
logger.info("初始化数据库...")
# 设置自动处理任务
setup_auto_process_job()
# 启动定时任务调度器
task_scheduler.start()
logger.info("定时任务调度器已启动")
# 启动Flask应用
logger.info(f"启动服务,端口: {Config.PORT}")
app.run(
host=Config.HOST,
port=Config.PORT,
debug=Config.DEBUG
)