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