GitHub Action
Clean deployment without binary files
f884e6e
import logging
import os
import sys
# Configure detailed logging from the very start
logging.basicConfig(
level=logging.INFO,
format="%(asctime)s - %(name)s - %(levelname)s - %(message)s",
handlers=[logging.StreamHandler(sys.stdout)],
)
# Set up logger for this module
logger = logging.getLogger(__name__)
logger.info("=" * 80)
logger.info("🎬 STARTING APPLICATION BOOTSTRAP")
logger.info("=" * 80)
logger.info(f"πŸ“ Current working directory: {os.getcwd()}")
logger.info(f"🐍 Python path: {sys.path[0]}")
logger.info(f"βš™οΈ Python version: {sys.version}")
from src.app_factory import ( # noqa: E402 (intentional import after logging setup)
create_app,
)
logger.info("πŸ“¦ Importing app factory...")
# Create the Flask app using the factory
logger.info("🏭 Creating Flask application...")
# During pytest runs, avoid initializing heavy HF startup flows
if os.getenv("PYTEST_RUNNING") == "1":
app = create_app(initialize_vectordb=False, initialize_llm=False)
else:
app = create_app()
logger.info("βœ… Flask application created successfully")
if __name__ == "__main__":
logger.info("-" * 80)
logger.info("πŸ–₯️ STARTING DEVELOPMENT SERVER")
logger.info("-" * 80)
# Enable periodic memory logging and milestone tracking
os.environ["MEMORY_DEBUG"] = "1"
os.environ["MEMORY_LOG_INTERVAL"] = "10"
port = int(os.environ.get("PORT", 8080))
logger.info("🌐 Server configuration:")
logger.info(" β€’ Host: 0.0.0.0")
logger.info(f" β€’ Port: {port}")
logger.info(" β€’ Debug: True")
logger.info(" β€’ Memory Debug: Enabled")
logger.info("πŸš€ Starting Flask development server...")
app.run(debug=True, host="0.0.0.0", port=port)