mirror of
https://github.com/docling-project/docling-serve.git
synced 2025-12-01 09:33:18 +00:00
31 lines
747 B
Python
31 lines
747 B
Python
import enum
|
|
from typing import Optional
|
|
|
|
from pydantic import BaseModel
|
|
|
|
from docling_serve.datamodel.requests import ConvertDocumentsRequest
|
|
from docling_serve.datamodel.responses import ConvertDocumentResponse
|
|
|
|
|
|
class TaskStatus(str, enum.Enum):
|
|
SUCCESS = "success"
|
|
PENDING = "pending"
|
|
STARTED = "started"
|
|
FAILURE = "failure"
|
|
|
|
|
|
class AsyncEngine(str, enum.Enum):
|
|
LOCAL = "local"
|
|
|
|
|
|
class Task(BaseModel):
|
|
task_id: str
|
|
task_status: TaskStatus = TaskStatus.PENDING
|
|
request: Optional[ConvertDocumentsRequest]
|
|
result: Optional[ConvertDocumentResponse] = None
|
|
|
|
def is_completed(self) -> bool:
|
|
if self.task_status in [TaskStatus.SUCCESS, TaskStatus.FAILURE]:
|
|
return True
|
|
return False
|