fix: handle existing indexes in podcast-only mode, skip startup health
This commit is contained in:
@@ -568,9 +568,13 @@ async def serve_frontend():
|
|||||||
async def startup_event():
|
async def startup_event():
|
||||||
"""Initialize services on startup."""
|
"""Initialize services on startup."""
|
||||||
try:
|
try:
|
||||||
startup_report = run_startup_health_routine(app)
|
# Skip startup health checks in podcast-only mode to avoid unnecessary DB errors
|
||||||
if startup_report.get("status") != "healthy":
|
if not is_podcast_only_demo_mode():
|
||||||
logger.error(f"Startup readiness finished with failures: {startup_report.get('errors', [])}")
|
startup_report = run_startup_health_routine(app)
|
||||||
|
if startup_report.get("status") != "healthy":
|
||||||
|
logger.error(f"Startup readiness finished with failures: {startup_report.get('errors', [])}")
|
||||||
|
else:
|
||||||
|
logger.info("[Podcast] Skipping startup health routine (podcast-only mode)")
|
||||||
|
|
||||||
# Start task scheduler only if NOT in podcast-only mode
|
# Start task scheduler only if NOT in podcast-only mode
|
||||||
if not is_podcast_only_demo_mode():
|
if not is_podcast_only_demo_mode():
|
||||||
|
|||||||
@@ -351,16 +351,15 @@ def init_database():
|
|||||||
|
|
||||||
try:
|
try:
|
||||||
# Create all tables for all models using default engine
|
# Create all tables for all models using default engine
|
||||||
OnboardingBase.metadata.create_all(bind=default_engine)
|
# Use checkfirst=True (default) to avoid errors for existing tables
|
||||||
SEOAnalysisBase.metadata.create_all(bind=default_engine)
|
from sqlalchemy import create_engine
|
||||||
ContentPlanningBase.metadata.create_all(bind=default_engine)
|
from sqlalchemy.pool import StaticPool
|
||||||
EnhancedStrategyBase.metadata.create_all(bind=default_engine)
|
|
||||||
MonitoringBase.metadata.create_all(bind=default_engine)
|
# Create tables with checkfirst=True explicitly to handle existing objects
|
||||||
APIMonitoringBase.metadata.create_all(bind=default_engine)
|
for base in [OnboardingBase, SEOAnalysisBase, ContentPlanningBase,
|
||||||
PersonaBase.metadata.create_all(bind=default_engine)
|
EnhancedStrategyBase, MonitoringBase, APIMonitoringBase,
|
||||||
SubscriptionBase.metadata.create_all(bind=default_engine)
|
PersonaBase, SubscriptionBase, UserBusinessInfoBase, ContentAssetBase]:
|
||||||
UserBusinessInfoBase.metadata.create_all(bind=default_engine)
|
base.metadata.create_all(bind=default_engine, checkfirst=True)
|
||||||
ContentAssetBase.metadata.create_all(bind=default_engine)
|
|
||||||
logger.info("Global database initialized successfully")
|
logger.info("Global database initialized successfully")
|
||||||
except SQLAlchemyError as e:
|
except SQLAlchemyError as e:
|
||||||
logger.error(f"Error initializing global database: {str(e)}")
|
logger.error(f"Error initializing global database: {str(e)}")
|
||||||
|
|||||||
Reference in New Issue
Block a user