server.py 2.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970
  1. from fastapi import FastAPI
  2. from fastapi.middleware.cors import CORSMiddleware
  3. from app.models.database import engine, Base
  4. import app.routers.job_jdbc_datasource as router_jjds
  5. import app.routers.constants as router_constants
  6. import app.routers.job_info as router_job_info
  7. import app.routers.job_log as router_job_log
  8. import app.routers.datax_json as router_datax
  9. import app.routers.data_management as router_data_management
  10. import app.routers.files as router_files
  11. import app.routers.intermediate as router_intermediate
  12. import app.routers.jm_homework as router_jm_homework
  13. import app.routers.dag as router_dag
  14. import app.routers.code_check as router_code_check
  15. import app.routers.jm_job_info as router_jm_job_info
  16. import app.routers.jm_job_log as router_jm_job_log
  17. Base.metadata.create_all(bind=engine)
  18. app = FastAPI( docs_url='/jpt/docs', redoc_url='/jpt/redoc', title="DAG管理系统")
  19. # CORS 跨源资源共享
  20. app.add_middleware(
  21. CORSMiddleware,
  22. allow_origins=["*"],
  23. allow_credentials=True,
  24. allow_methods=["*"],
  25. allow_headers=["*"],
  26. )
  27. app.include_router(router_jjds.router)
  28. app.include_router(router_constants.router)
  29. app.include_router(router_job_info.router)
  30. app.include_router(router_job_log.router)
  31. app.include_router(router_data_management.router)
  32. app.include_router(router_datax.router)
  33. app.include_router(router_files.router)
  34. app.include_router(router_intermediate.router)
  35. app.include_router(router_jm_homework.router)
  36. app.include_router(router_dag.router)
  37. app.include_router(router_jm_job_info.router)
  38. app.include_router(router_jm_job_log.router)
  39. app.include_router(router_code_check.router)
  40. # Get 健康检查
  41. @app.get("/ping", description="健康检查")
  42. def ping():
  43. return "pong!"
  44. if __name__ == '__main__':
  45. import uvicorn
  46. import argparse
  47. parser = argparse.ArgumentParser()
  48. parser.add_argument('--host', default='0.0.0.0')
  49. parser.add_argument('--port', default=8080)
  50. opt = parser.parse_args()
  51. app_str = 'server:app' # make the app string equal to whatever the name of this file is
  52. uvicorn.run(app_str, host=opt.host, port=int(opt.port), reload=True)