bayesline.api.AsyncTask#
- class bayesline.api.AsyncTask#
Abstract base class representing a task that produces a result of type T.
A task has a unique ID and can be in various states (queued, running, completed, etc). The task’s progress can be monitored and its result retrieved once complete.
- __init__()#
Methods
__init__()cancel()Cancel the task.
Get the current progress status of the task.
Get the result of the completed task.
is_ready()Check if the task has completed and the result is ready.
wait_ready([timeout, check_interval])Wait for the task to be ready.
wait_result([timeout, check_interval])Wait for the task to complete and return its result.
Attributes
The unique identifier for this task.
- abstract property task_id: str#
The unique identifier for this task.
Returns#
- str
The unique identifier for this task.
- abstract async get_progress() TaskProgress#
Get the current progress status of the task.
Returns#
- TaskProgress
The current progress status, containing information about completion percentage and status message.
- abstract async is_ready() bool#
Check if the task has completed and the result is ready.
Returns#
- bool
True if the task is complete and result can be retrieved, False otherwise.
- abstract async get_result() T#
Get the result of the completed task.
Returns#
- T
The result of the task.
Raises#
- TaskError
If the task failed or is not yet complete.
- abstract async wait_result(timeout: float = -1.0, check_interval: float = 1.0) T#
Wait for the task to complete and return its result.
Parameters#
- timeoutfloat, default=-1.0
Maximum time in seconds to wait for completion. A negative value means wait indefinitely.
- check_intervalfloat, default=0.5
Time in seconds between status checks.
Returns#
- T
The result of the task.
Raises#
- TaskError
If the task failed or timed out.
- abstract async wait_ready(timeout: float = -1.0, check_interval: float = 1.0) None#
Wait for the task to be ready.
Parameters#
- timeoutfloat, default=-1.0
Maximum time in seconds to wait for completion. A negative value means wait indefinitely.
- check_intervalfloat, default=1.0
Time in seconds between status checks.
Raises#
- TaskError
If the task failed or timed out.