FastAPI / app.py
raghavNCI
headline generator first trial
89716e4
raw
history blame
919 Bytes
from fastapi import FastAPI
from routes.category import router # routes.py must be in same folder
from routes.question import askMe
from routes.wa_gateway import wa_router
from dotenv import load_dotenv
import asyncio
from nuse_modules.headlines_generator import generate_and_store_headlines
from fastapi.middleware.cors import CORSMiddleware
load_dotenv()
app = FastAPI()
app.include_router(router)
app.include_router(askMe)
app.include_router(wa_router)
app.add_middleware(
CORSMiddleware,
allow_origins=["*"], # Or restrict to your frontend domain
allow_credentials=True,
allow_methods=["*"],
allow_headers=["*"],
)
@app.on_event("startup")
def fetch_and_cache_articles() -> None:
loop = asyncio.get_event_loop()
# Run in default thread-pool executor
loop.run_in_executor(None, generate_and_store_headlines)
@app.get("/health")
def health_check():
return {"status": "ok"}