36 lines
862 B
Python
36 lines
862 B
Python
|
|
"""FastAPI应用入口"""
|
|||
|
|
import logging
|
|||
|
|
from contextlib import asynccontextmanager
|
|||
|
|
from fastapi import FastAPI
|
|||
|
|
from app.core.config import settings
|
|||
|
|
from app.core.logging import setup_logging
|
|||
|
|
from app.api import router
|
|||
|
|
from app.services import kafka_service
|
|||
|
|
|
|||
|
|
setup_logging()
|
|||
|
|
logger = logging.getLogger(__name__)
|
|||
|
|
|
|||
|
|
|
|||
|
|
@asynccontextmanager
|
|||
|
|
async def lifespan(app: FastAPI):
|
|||
|
|
"""应用生命周期管理"""
|
|||
|
|
logger.info("服务启动中...")
|
|||
|
|
yield
|
|||
|
|
logger.info("服务关闭中...")
|
|||
|
|
kafka_service.close()
|
|||
|
|
|
|||
|
|
|
|||
|
|
app = FastAPI(
|
|||
|
|
title="招聘数据采集服务",
|
|||
|
|
description="从八爪鱼API采集招聘数据,通过Kafka提供消费接口",
|
|||
|
|
version=settings.app.version,
|
|||
|
|
lifespan=lifespan
|
|||
|
|
)
|
|||
|
|
|
|||
|
|
app.include_router(router)
|
|||
|
|
|
|||
|
|
|
|||
|
|
if __name__ == "__main__":
|
|||
|
|
import uvicorn
|
|||
|
|
uvicorn.run("app.main:app", host="0.0.0.0", port=8000, reload=True)
|