pvanand's picture
Update main.py
7336259 verified
from fastapi import FastAPI
from fastapi.middleware.cors import CORSMiddleware
from api.coding_assistant import v1 as coding_assistant_v1
from config import ALLOWED_ORIGINS
from database import init_db
from fastapi_cache import FastAPICache
from fastapi_cache.backends.inmemory import InMemoryBackend
import asyncio
import logging
# Configure logging
logging.basicConfig(
level=logging.INFO,
format='%(asctime)s - %(name)s - %(levelname)s - %(message)s',
handlers=[
logging.FileHandler("app.log"),
logging.StreamHandler()
]
)
logger = logging.getLogger(__name__)
app = FastAPI()
# CORS middleware setup
app.add_middleware(
CORSMiddleware,
allow_origins=ALLOWED_ORIGINS,
allow_credentials=True,
allow_methods=["GET", "POST"],
allow_headers=["*"],
)
# Include routers
app.include_router(coding_assistant_v1.router)
# app.include_router(news_assistant_v1.router)
# app.include_router(search_assistant_v1.router)
# app.include_router(followup_agent_v1.router)
# app.include_router(followup_agent_v2.router)
# app.include_router(followup_agent_v3.router)
# app.include_router(followup_agent_v4.router)
# app.include_router(digiyatra_followup_v1.router)
@app.on_event("startup")
async def startup_event():
logger.info("Starting up the application")
FastAPICache.init(InMemoryBackend(), prefix="fastapi-cache")
asyncio.create_task(clear_inactive_conversations())
init_db()
if __name__ == "__main__":
import uvicorn
logger.info("Starting the application")
uvicorn.run(app, host="0.0.0.0", port=7860)