# app.py import gradio as gr import logging from interface.app import create_interface from utils.resource_manager import ResourceManager from config.settings import config # Configure logging logging.basicConfig( level=logging.INFO, format='%(asctime)s - %(name)s - %(levelname)s - %(message)s' ) logger = logging.getLogger(__name__) def initialize_app(): """Initialize application components""" try: # Initialize resource manager resource_manager = ResourceManager() # Check initial resources resources_ok, error_msg = resource_manager.check_resources() if not resources_ok: logger.error(f"Resource check failed: {error_msg}") raise Exception(error_msg) # Create Gradio interface interface = create_interface() return interface except Exception as e: logger.error(f"Initialization error: {str(e)}") raise if __name__ == "__main__": try: # Initialize app interface = initialize_app() # Launch Gradio interface with updated parameters interface.launch( share=True, server_name="0.0.0.0", server_port=7860, max_threads=4, show_error=True, # enable_queue is replaced by concurrency_count in Gradio 5.x #concurrency_count=1 ) except Exception as e: logger.error(f"Application startup failed: {str(e)}") raise