feat: add SQLite write-ahead log and shared memory files.
This commit is contained in:
@@ -0,0 +1,61 @@
|
||||
"""
|
||||
TiniX Story 1.0 - Entry Point
|
||||
Khởi động cả Gradio UI và FastAPI server
|
||||
"""
|
||||
import os
|
||||
import sys
|
||||
import threading
|
||||
import logging
|
||||
|
||||
logging.basicConfig(
|
||||
level=logging.INFO,
|
||||
format="%(asctime)s [%(levelname)s] %(name)s: %(message)s"
|
||||
)
|
||||
logger = logging.getLogger("run")
|
||||
|
||||
|
||||
def start_gradio():
|
||||
"""Khởi động Gradio UI trên port 7860"""
|
||||
try:
|
||||
from app import main
|
||||
main()
|
||||
except Exception as e:
|
||||
logger.error(f"Gradio startup failed: {e}")
|
||||
sys.exit(1)
|
||||
|
||||
|
||||
def start_fastapi():
|
||||
"""Khởi động FastAPI server trên port 8000"""
|
||||
try:
|
||||
import uvicorn
|
||||
from main_api import app
|
||||
uvicorn.run(app, host="0.0.0.0", port=8000, log_level="info")
|
||||
except Exception as e:
|
||||
logger.error(f"FastAPI startup failed: {e}")
|
||||
sys.exit(1)
|
||||
|
||||
|
||||
def main():
|
||||
mode = os.getenv("TINIX_MODE", "all").lower()
|
||||
|
||||
if mode == "api":
|
||||
logger.info("Starting TiniX Story in API-only mode (port 8000)")
|
||||
start_fastapi()
|
||||
elif mode == "ui":
|
||||
logger.info("Starting TiniX Story in Gradio UI mode (port 7860)")
|
||||
start_gradio()
|
||||
else:
|
||||
logger.info("Starting TiniX Story - All services")
|
||||
logger.info(" → FastAPI: http://localhost:8000")
|
||||
logger.info(" → Gradio UI: http://localhost:7860")
|
||||
|
||||
# FastAPI in background thread
|
||||
api_thread = threading.Thread(target=start_fastapi, daemon=True)
|
||||
api_thread.start()
|
||||
|
||||
# Gradio in main thread (blocks)
|
||||
start_gradio()
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
main()
|
||||
Reference in New Issue
Block a user