dragon.workflows.batch.batch.Task

class Task[source]

Bases: object

__init__(task_core: TaskCore, batch: Batch, reads: list | None = None, writes: list | None = None, compiled: bool = False) None [source]

Initializes a new task.

Parameters:
  • task_core (TaskCore) – The core parts of the task, allowing us to send leaner objects to the managers.

  • batch (Batch) – The batch to which this task belongs.

  • reads (Optional[list ]) – A list of Read objects created by calling Batch.read().

  • writes (Optional[list ]) – A list of Write objects created by calling Batch.write().

  • compiled (bool ) – A flag indicating if this task is compiled.

Returns:

Returns None.

Return type:

None

Methods

__init__(task_core, batch[, reads, writes, ...])

Initializes a new task.

cancel([timeout])

Best-effort cancellation request for this task.

get([block, timeout])

Wait for this Task to complete.

get_manager_idx([block, timeout])

Attributes

uid

Provides the unique ID for this task.

weight

Provides the HEFTY weight for this task.

__init__(task_core: TaskCore, batch: Batch, reads: list | None = None, writes: list | None = None, compiled: bool = False) None [source]

Initializes a new task.

Parameters:
  • task_core (TaskCore) – The core parts of the task, allowing us to send leaner objects to the managers.

  • batch (Batch) – The batch to which this task belongs.

  • reads (Optional[list ]) – A list of Read objects created by calling Batch.read().

  • writes (Optional[list ]) – A list of Write objects created by calling Batch.write().

  • compiled (bool ) – A flag indicating if this task is compiled.

Returns:

Returns None.

Return type:

None

get_manager_idx(block: bool = True, timeout: float = 1000000000.0) int [source]
get(block: bool = True, timeout: float = 1000000000.0) None [source]

Wait for this Task to complete. This function returns the task’s result and prints any stdout/stderr output.

Parameters:
  • block (bool ) – If True (the default), block until the result is available or timeout is exceeded. If False, return immediately if the result is available, otherwise raise TaskNotReadyError.

  • timeout (float ) – The timeout for waiting. Defaults to 1e9. Ignored when block is False.

Raises:

TimeoutError – If the specified timeout is exceeded.

:raises TaskNotReadyError: If block is False and the result is not yet available.

Returns:

Returns the result of the task.

Return type:

Any

cancel(timeout: float = 1000000000.0) bool [source]

Best-effort cancellation request for this task.

Returns True when the scheduler accepted the cancellation and the task will complete with TaskCancelledError. Returns False when the task cannot be cancelled or already completed.

property uid

Provides the unique ID for this task.

property weight

Provides the HEFTY weight for this task.