Compare commits

...

3 Commits

Author SHA1 Message Date
8ca8bf88c1 Merge pull request 'master' (#20) from master into prod
Reviewed-on: #20
2024-11-27 02:53:14 +03:00
739d2366e5 fix
All checks were successful
Deploy Dev / Build (pull_request) Successful in 5s
Deploy Dev / Push (pull_request) Successful in 7s
Deploy Dev / Deploy dev (pull_request) Successful in 5s
Deploy Prod / Build (pull_request) Successful in 5s
Deploy Prod / Push (pull_request) Successful in 7s
Deploy Prod / Deploy prod (pull_request) Successful in 5s
2024-11-27 02:51:31 +03:00
a55baa613c fix
All checks were successful
Deploy Dev / Build (pull_request) Successful in 5s
Deploy Dev / Push (pull_request) Successful in 7s
Deploy Dev / Deploy dev (pull_request) Successful in 6s
2024-11-27 02:48:30 +03:00
2 changed files with 3 additions and 7 deletions

View File

@ -15,9 +15,6 @@ class Task(pydantic.BaseModel):
class Response(pydantic.BaseModel):
id: str
attempt: int
payload: dict
task: Task|None
@ -25,5 +22,5 @@ class Response(pydantic.BaseModel):
async def execute(queue: typing.Annotated[str, fastapi.Header()]) -> Response:
task = await tasks.take_task(queue)
if not task:
raise fastapi.HTTPException(404)
return Response(id=str(task._id), attempt=task.attempts, payload=task.payload, task=Task(id=str(task._id), attempt=task.attempts, payload=task.payload))
return Response(task=None)
return Response(task=Task(id=str(task._id), attempt=task.attempts, payload=task.payload))

View File

@ -1,7 +1,6 @@
import bson
import datetime
import pydantic
import typing
from app.storage.mongo import database
from app.utils import time
@ -27,7 +26,7 @@ async def add_task(task: Task) -> str:
return result.inserted_id
async def take_task(queue: str) -> typing.Optional[Task]:
async def take_task(queue: str) -> Task|None:
now = time.now()
async for raw_task in collection.find({'queue': queue, 'available_from': {'$lte': now}}):
task = Task.model_validate(raw_task)