Files
ocups-kafka/job_crawler/app/main.py

36 lines
862 B
Python
Raw Normal View History

"""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)