main.py 766 B

123456789101112131415161718192021222324252627282930313233
  1. from fastapi import FastAPI
  2. from pydantic import BaseModel
  3. from celery.result import AsyncResult
  4. app = FastAPI()
  5. from tasks import process_data
  6. class Task(BaseModel):
  7. bianma: str
  8. mc: str
  9. tz: str
  10. dw: str
  11. sl: str
  12. n: int
  13. label: str
  14. name: str
  15. bh: str
  16. city: str
  17. @app.post("/submit/")
  18. async def submit(r: Task):
  19. task = process_data.apply_async(kwargs={"data": { "city" : r.city, "bianma": r.bianma, "mc": r.mc, "tz": r.tz, "dw": r.dw, "sl": r.sl, "n": r.n, "label": r.label, 'name': r.name, 'bh': r.bh}})
  20. return {"id": task.id}
  21. @app.get("/check/{id}")
  22. async def check(id):
  23. result = AsyncResult(id)
  24. return {
  25. 'status': result.status,
  26. 'result': result.result if result.ready() else None
  27. }