42 lines
1.2 KiB
Python
42 lines
1.2 KiB
Python
|
|
from __future__ import annotations
|
||
|
|
|
||
|
|
from typing import Any
|
||
|
|
|
||
|
|
from pydantic import BaseModel, Field
|
||
|
|
|
||
|
|
|
||
|
|
class SchedulerEnqueueTaskRequest(BaseModel):
|
||
|
|
task_name: str = Field(min_length=1, max_length=255, alias="taskName")
|
||
|
|
queue_name: str | None = Field(default=None, max_length=255, alias="queueName")
|
||
|
|
task_id: str | None = Field(default=None, max_length=255, alias="taskId")
|
||
|
|
args: list[Any] = Field(default_factory=list)
|
||
|
|
kwargs: dict[str, Any] = Field(default_factory=dict)
|
||
|
|
|
||
|
|
model_config = {"populate_by_name": True}
|
||
|
|
|
||
|
|
|
||
|
|
class SchedulerEnqueueTaskResponse(BaseModel):
|
||
|
|
queued: bool = True
|
||
|
|
task_id: str = Field(alias="taskId")
|
||
|
|
queue_name: str = Field(alias="queueName")
|
||
|
|
task_name: str = Field(alias="taskName")
|
||
|
|
|
||
|
|
model_config = {"populate_by_name": True}
|
||
|
|
|
||
|
|
|
||
|
|
class SchedulerRevokeTaskRequest(BaseModel):
|
||
|
|
task_id: str = Field(min_length=1, max_length=255, alias="taskId")
|
||
|
|
terminate: bool = True
|
||
|
|
signal: str = Field(default="SIGTERM", max_length=32)
|
||
|
|
|
||
|
|
model_config = {"populate_by_name": True}
|
||
|
|
|
||
|
|
|
||
|
|
class SchedulerRevokeTaskResponse(BaseModel):
|
||
|
|
revoked: bool = True
|
||
|
|
task_id: str = Field(alias="taskId")
|
||
|
|
terminate: bool
|
||
|
|
signal: str
|
||
|
|
|
||
|
|
model_config = {"populate_by_name": True}
|