Skip to main content

definitions

PoolStatus

from dara.core.internal.pool.definitions import PoolStatus

class PoolStatus(Enum)

CREATED

Initial state

RUNNING

Active state

CLOSED

Closed, pool not accepting new jobs but still handling existing ones

STOPPED

Completely stopped, all workers shut down

ERROR

Error state

WorkerStatus

from dara.core.internal.pool.definitions import WorkerStatus

class WorkerStatus(Enum)

CREATED

Initial state

IDLE

Worker initialized and waiting for jobs

WORKING

Worker executing a job

TaskDefinition

from dara.core.internal.pool.definitions import TaskDefinition

class TaskDefinition()

Describes a task submitted to the pool

Attributes

  • uid: str
  • event: Event
  • result: Any
  • payload: TaskPayload
  • worker_id: Optional[int]
  • started_at: Optional[datetime]

Methods

started_at

TODO: can be used for task timeout or metrics/visibility

__await__

def __await__()

Await the underlying event, then return or raise the result

WorkerTask

from dara.core.internal.pool.definitions import WorkerTask

class WorkerTask(TypedDict)

Sent to workers as a definition of a task to do

Attributes

  • task_uid: str
  • payload: SharedMemoryPointer

payload

Pointer to shared memory storing TaskPayload

Initialization

Worker_pid, sent when a worker is initialized and ready to take tasks

Acknowledgement

from dara.core.internal.pool.definitions import Acknowledgement

class Acknowledgement(TypedDict)

Sent when a worker accepts a task

Attributes

  • task_uid: str
  • worker_pid: int

Result

from dara.core.internal.pool.definitions import Result

class Result(TypedDict)

Task result sent when a worker finishes processing a task

Attributes

  • task_uid: str
  • result: SharedMemoryPointer

result

Pointer to shared memory storing result

Problem

from dara.core.internal.pool.definitions import Problem

class Problem(TypedDict)

Sent when a worker encounters an issue processing a task

Attributes

  • task_uid: Optional[str]
  • error: SubprocessException

Log

from dara.core.internal.pool.definitions import Log

class Log(TypedDict)

Sent when a task emits a stdout message

Attributes

  • task_uid: Optional[str]
  • log: str

Progress

from dara.core.internal.pool.definitions import Progress

class Progress(TypedDict)

Task progress update message

Attributes

  • task_uid: str
  • progress: float
  • message: str

WorkerMessage

Union of possible messages sent from worker processes