worker_server.py 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. from fastapi import FastAPI
  2. import argparse
  3. from worker.api.excel_load import app as excel_load_app
  4. from worker.api.worker_router import app as worker_app
  5. from fastapi.middleware.cors import CORSMiddleware
  6. from config.settings import DB_URL, GOOGLE_SEARCH_DIR
  7. app = FastAPI(
  8. title="搜索微服务",
  9. description="提供关键词导入和搜索功能的统一API接口",
  10. version="1.0.0"
  11. )
  12. # Add CORS middleware
  13. app.add_middleware(
  14. CORSMiddleware,
  15. allow_origins=["*"],
  16. allow_credentials=True,
  17. allow_methods=["*"],
  18. allow_headers=["*"],
  19. )
  20. # Include routers
  21. app.include_router(excel_load_app, prefix="/keywords")
  22. app.include_router(worker_app, prefix="/workers")
  23. @app.get("/health")
  24. async def health_check():
  25. return {
  26. "status": "healthy",
  27. "host": args.host,
  28. "port": args.port,
  29. "db_url": DB_URL,
  30. "google_search_dir": GOOGLE_SEARCH_DIR
  31. }
  32. if __name__ == "__main__":
  33. import uvicorn
  34. parser = argparse.ArgumentParser()
  35. parser.add_argument("--host", default="127.0.0.1", help="Binding host")
  36. parser.add_argument("--port", type=int, default=8003, help="Binding port")
  37. args = parser.parse_args()
  38. uvicorn.run(
  39. app,
  40. host=args.host,
  41. port=args.port,
  42. log_config=None
  43. )