Corin1998 commited on
Commit
471b7c7
·
verified ·
1 Parent(s): 07efc99

Update app/routers/deliver.py

Browse files
Files changed (1) hide show
  1. app/routers/deliver.py +9 -4
app/routers/deliver.py CHANGED
@@ -3,11 +3,10 @@ from sqlalchemy.orm import Session
3
  from app.database import get_db
4
  from app import models
5
  from app.tasks import task_deliver
6
-
7
 
8
  router = APIRouter(prefix="/deliver", tags=["deliver"])
9
 
10
-
11
  @router.post("/{draft_id}")
12
  async def deliver_now(draft_id: int, db: Session = Depends(get_db)):
13
  draft = db.get(models.Draft, draft_id)
@@ -15,5 +14,11 @@ async def deliver_now(draft_id: int, db: Session = Depends(get_db)):
15
  return {"error": "not found"}
16
  if draft.status not in [models.DraftStatus.approved, models.DraftStatus.scheduled]:
17
  return {"error": f"status must be approved/scheduled, current={draft.status.value}"}
18
- task_deliver.delay(draft.id)
19
- return {"ok": True, "queued": True}
 
 
 
 
 
 
 
3
  from app.database import get_db
4
  from app import models
5
  from app.tasks import task_deliver
6
+ from app.config import settings
7
 
8
  router = APIRouter(prefix="/deliver", tags=["deliver"])
9
 
 
10
  @router.post("/{draft_id}")
11
  async def deliver_now(draft_id: int, db: Session = Depends(get_db)):
12
  draft = db.get(models.Draft, draft_id)
 
14
  return {"error": "not found"}
15
  if draft.status not in [models.DraftStatus.approved, models.DraftStatus.scheduled]:
16
  return {"error": f"status must be approved/scheduled, current={draft.status.value}"}
17
+
18
+ if settings.CELERY_BROKER_URL:
19
+ task_deliver.delay(draft.id)
20
+ return {"ok": True, "queued": True}
21
+ else:
22
+ # inline for demo; real env should use worker
23
+ res = task_deliver(draft.id)
24
+ return {"ok": True, "queued": False, "result": res}