#!/bin/bash # 保单智能客服系统 — 后端启动脚本 set -e # 设置环境变量 export PYTHONPATH=/app export FLASK_APP=insurance.app # 等待数据库就绪 echo "等待数据库就绪..." for i in {1..30}; do if python -c "import psycopg2; psycopg2.connect('$DATABASE_URL')" 2>/dev/null; then echo "数据库已就绪" break fi sleep 2 done # 初始化数据库表 echo "初始化数据库..." cd /app python -c " import sys sys.path.insert(0, '/app') from insurance.db.database import db, init_db from insurance.app import create_app app = create_app() with app.app_context(): db.create_all() print('数据库表创建完成') " 2>/dev/null || echo "数据库初始化跳过(可能已存在)" # 启动 gunicorn echo "启动 API 服务..." exec gunicorn \ --bind 0.0.0.0:5001 \ --workers 2 \ --timeout 120 \ --worker-class geventwebsocket.gunicorn.workers.GeventWebSocketWorker \ insurance.app:app