Initial commit: BtToxin Pipeline project structure
This commit is contained in:
31
backend/app/schemas/job.py
Normal file
31
backend/app/schemas/job.py
Normal file
@@ -0,0 +1,31 @@
|
||||
"""任务 Schema"""
|
||||
from pydantic import BaseModel
|
||||
from typing import Optional, List
|
||||
from datetime import datetime
|
||||
from enum import Enum
|
||||
|
||||
class JobStatus(str, Enum):
|
||||
PENDING = "pending"
|
||||
RUNNING = "running"
|
||||
COMPLETED = "completed"
|
||||
FAILED = "failed"
|
||||
|
||||
class JobCreate(BaseModel):
|
||||
input_files: List[str]
|
||||
sequence_type: str = "nucl"
|
||||
scaf_suffix: str = ".fna"
|
||||
threads: int = 4
|
||||
|
||||
class JobResponse(BaseModel):
|
||||
id: str
|
||||
status: JobStatus
|
||||
input_files: List[str]
|
||||
sequence_type: str
|
||||
threads: int
|
||||
result_url: Optional[str] = None
|
||||
error_message: Optional[str] = None
|
||||
created_at: datetime
|
||||
completed_at: Optional[datetime] = None
|
||||
|
||||
class Config:
|
||||
from_attributes = True
|
||||
Reference in New Issue
Block a user