plexus.dashboard.api.models.task module
- class plexus.dashboard.api.models.task.Task(id: str, accountId: str, type: str, status: str, target: str, command: str, description: str | None = None, metadata: Dict | None = None, createdAt: datetime.datetime | None = None, updatedAt: datetime.datetime | None = None, startedAt: datetime.datetime | None = None, completedAt: datetime.datetime | None = None, estimatedCompletionAt: datetime.datetime | None = None, errorMessage: str | None = None, errorDetails: Dict | None = None, stdout: str | None = None, stderr: str | None = None, currentStageId: str | None = None, workerNodeId: str | None = None, dispatchStatus: str | None = None, scorecardId: str | None = None, scoreId: str | None = None, client: plexus.dashboard.api.client._BaseAPIClient | None = None)
Bases:
BaseModel
- __init__(id: str, accountId: str, type: str, status: str, target: str, command: str, description: str | None = None, metadata: Dict | None = None, createdAt: datetime | None = None, updatedAt: datetime | None = None, startedAt: datetime | None = None, completedAt: datetime | None = None, estimatedCompletionAt: datetime | None = None, errorMessage: str | None = None, errorDetails: Dict | None = None, stdout: str | None = None, stderr: str | None = None, currentStageId: str | None = None, workerNodeId: str | None = None, dispatchStatus: str | None = None, scorecardId: str | None = None, scoreId: str | None = None, client: _BaseAPIClient | None = None)
- accountId: str
- acquire_lock(timeout=1800)
- command: str
- complete_processing()
Complete processing of the task.
- completedAt: datetime | None = None
- classmethod create(client, type: str, target: str, command: str, **kwargs) Task
Create a new task record.
- Args:
client: The API client instance type: Task type target: Task target command: Command string **kwargs: Additional task fields
- Returns:
Task: The created task instance
- create_stage(name: str, order: int, status: str = 'PENDING', status_message: str | None = None, total_items: int | None = None, estimated_completion_at: str | None = None, **kwargs) TaskStage
Create a new TaskStage for this Task.
- createdAt: datetime | None = None
- currentStageId: str | None = None
- description: str | None = None
- dispatchStatus: str | None = None
- errorDetails: Dict | None = None
- errorMessage: str | None = None
- estimatedCompletionAt: datetime | None = None
- fail_current_stage(error_message: str, error_details: Dict | None = None, current_items: int | None = None) None
Mark the current running stage as failed with error message and progress.
- Args:
error_message: The error message to display error_details: Optional dictionary of additional error details current_items: The number of items processed when the failure occurred
- fail_processing(error_message: str, error_details: Dict | None = None, current_items: int | None = None) None
Mark the task as failed with error information.
- Args:
error_message: The error message to display error_details: Optional dictionary of additional error details current_items: The number of items processed when the failure occurred
- classmethod fields() str
Return the GraphQL fields to query for this model
- classmethod from_dict(data: Dict[str, Any], client: _BaseAPIClient) Task
Create an instance from a dictionary of data
- classmethod list_tasks(client: _BaseAPIClient, updated_at: str = '', limit: int = 100) List[Task]
List tasks using the listTaskByUpdatedAt query for proper pagination.
- Args:
client: The API client instance updated_at: The updatedAt timestamp to start from (empty string for most recent) limit: Maximum number of tasks to return per page
- Returns:
List[Task]: List of Task instances
- lock_expires: datetime | None = None
- lock_token: str | None = None
- metadata: Dict | None = None
- release_lock()
- scoreId: str | None = None
- scorecardId: str | None = None
- start_processing() None
Mark the task as started.
- startedAt: datetime | None = None
- status: str
- stderr: str | None = None
- stdout: str | None = None
- target: str
- type: str
- update_progress(current_items: int, total_items: int, stage_configs: Dict[str, Dict], estimated_completion_at: datetime | None = None) List[TaskStage]
Update task progress and stage information.
- updatedAt: datetime | None = None
- workerNodeId: str | None = None