@@ -0,0 +1,9 @@
+from celery import Celery
+celery_app = Celery(
+"tasks",
+broker="redis://:Pheecian1@47.101.198.30:6379/0",
+backend="redis://:Pheecian1@47.101.198.30:6379/1",
+)
+celery_app.conf.update(redis_socket_timeout=30)
+celery_app.conf.update(redis_retry_on_timeout=True)
+celery_app.conf.update(task_track_started=True)
@@ -0,0 +1,33 @@
+from fastapi import FastAPI
+from pydantic import BaseModel
+from celery.result import AsyncResult
+app = FastAPI()
+
+from tasks import process_data
+class Task(BaseModel):
+ bianma: str
+ mc: str
+ tz: str
+ dw: str
+ sl: str
+ n: int
+ label: str
+ name: str
+ bh: str
+ city: str
+@app.post("/submit/")
+async def submit(r: Task):
+ 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}})
+ return {"id": task.id}
+@app.get("/check/{id}")
+async def check(id):
+ result = AsyncResult(id)
+ return {
+ 'status': result.status,
+ 'result': result.result if result.ready() else None
+ }
@@ -0,0 +1,6 @@
+import time
+from bson.objectid import ObjectId
+from celery_app import celery_app
+@celery_app.task
+def process_data(data:dict)-> dict:
+ return {"result": []}