from fastapi import FastAPI import argparse from worker.api.excel_load import app as excel_load_app from worker.api.worker_router import app as worker_app from fastapi.middleware.cors import CORSMiddleware from config.settings import DB_URL, GOOGLE_SEARCH_DIR app = FastAPI( title="搜索微服务", description="提供关键词导入和搜索功能的统一API接口", version="1.0.0" ) # Add CORS middleware app.add_middleware( CORSMiddleware, allow_origins=["*"], allow_credentials=True, allow_methods=["*"], allow_headers=["*"], ) # Include routers app.include_router(excel_load_app, prefix="/keywords") app.include_router(worker_app, prefix="/workers") @app.get("/health") async def health_check(): return { "status": "healthy", "host": args.host, "port": args.port, "db_url": DB_URL, "google_search_dir": GOOGLE_SEARCH_DIR } if __name__ == "__main__": import uvicorn parser = argparse.ArgumentParser() parser.add_argument("--host", default="127.0.0.1", help="Binding host") parser.add_argument("--port", type=int, default=8003, help="Binding port") args = parser.parse_args() uvicorn.run( app, host=args.host, port=args.port, log_config=None )