LiKenun's picture
Add development run script and instructions
6532466
raw
history blame
1.38 kB
import logging
from contextlib import asynccontextmanager
from fastapi import FastAPI
from loguru import logger
from ctp_slack_bot.api.routes import router
from ctp_slack_bot.core.config import settings
from ctp_slack_bot.core.logging import setup_logging
from ctp_slack_bot.tasks.scheduler import start_scheduler, stop_scheduler
@asynccontextmanager
async def lifespan(app: FastAPI):
"""
Lifespan context manager for FastAPI application.
Handles startup and shutdown events.
"""
# Setup logging
#setup_logging()
logger.info("Starting application")
# Start scheduler
#scheduler = start_scheduler()
#logger.info("Started scheduler")
yield
# Shutdown
logger.info("Shutting down application")
#stop_scheduler(scheduler)
#logger.info("Stopped scheduler")
app = FastAPI(
title="CTP Slack Bot",
description="A Slack bot for processing and analyzing Zoom transcripts using AI",
version="0.1.0",
lifespan=lifespan,
)
# Include routers
app.include_router(router)
@app.get("/health")
async def health_check():
"""Health check endpoint"""
return {"status": "healthy"}
if __name__ == "__main__":
import uvicorn
uvicorn.run(
"main:app",
host="localhost", #settings.API_HOST,
port=8000, #settings.API_PORT,
reload=True #settings.DEBUG,
)