BackgroundTaskManager#
- class BackgroundTaskManager[source]#
Bases:
QObjectAttributes
BackgroundTaskManager.running_taskspyqtSignal(*types, name: str = ..., revision: int = ..., arguments: Sequence = ...) -> PYQT_SIGNAL
BackgroundTaskManager.task_completedpyqtSignal(*types, name: str = ..., revision: int = ..., arguments: Sequence = ...) -> PYQT_SIGNAL
BackgroundTaskManager.task_failedpyqtSignal(*types, name: str = ..., revision: int = ..., arguments: Sequence = ...) -> PYQT_SIGNAL
BackgroundTaskManager.task_messagepyqtSignal(*types, name: str = ..., revision: int = ..., arguments: Sequence = ...) -> PYQT_SIGNAL
BackgroundTaskManager.task_outputpyqtSignal(*types, name: str = ..., revision: int = ..., arguments: Sequence = ...) -> PYQT_SIGNAL
BackgroundTaskManager.task_progresspyqtSignal(*types, name: str = ..., revision: int = ..., arguments: Sequence = ...) -> PYQT_SIGNAL
BackgroundTaskManager.task_queuedpyqtSignal(*types, name: str = ..., revision: int = ..., arguments: Sequence = ...) -> PYQT_SIGNAL
BackgroundTaskManager.task_startedpyqtSignal(*types, name: str = ..., revision: int = ..., arguments: Sequence = ...) -> PYQT_SIGNAL
BackgroundTaskManager.task_warningpyqtSignal(*types, name: str = ..., revision: int = ..., arguments: Sequence = ...) -> PYQT_SIGNAL
Methods
BackgroundTaskManager.cancel_task(task_id)Cancel a task if possible.
Remove finished tasks from tracking.
Get accumulated stdout/stderr for a task.
BackgroundTaskManager.instance()BackgroundTaskManager.submit_io_task(name, func)Submit a thread-backed I/O task.
BackgroundTaskManager.submit_task(name, func)Submit a single task to the queue.
Submit batch of tasks with optional concurrency limit.
- cancel_task(task_id)[source]#
Cancel a task if possible.
- Parameters:
- task_idstr
The task identifier.
- Returns:
- bool
True if the task was cancelled, False if it’s already running.
- clear_finished_tasks()[source]#
Remove finished tasks from tracking.
- Returns:
- list
List of removed task IDs.
- get_task_output(task_id)[source]#
Get accumulated stdout/stderr for a task.
Works for both running and completed tasks.
- Parameters:
- task_idstr
The task identifier.
- Returns:
- Dict[str, str]
Dictionary with ‘stdout’ and ‘stderr’ keys.
- submit_io_task(name, func, callback=None, batch_id=None, args=(), kwargs=None)[source]#
Submit a thread-backed I/O task.
- submit_task(name, func, callback=None, batch_id=None, args=(), kwargs=None)[source]#
Submit a single task to the queue.
- Parameters:
- namestr
Name of the task.
- funcCallable
Function to execute.
- callbackCallable, optional
Callback function to execute on completion.
- batch_idstr, optional
Existing batch ID to add tasks to. If None, creates new batch.
- args: tuple, optional
Args to pass to func.
- kwargs: dict, optional
Kwargs to pass to func.
- submit_task_batch(tasks, max_concurrent=None, batch_id=None)[source]#
Submit batch of tasks with optional concurrency limit.
- Parameters:
- taskslist of dict
- Each dict: {“name”: str, “func”: callable, “args”: tuple,
“kwargs”: dict, “callback”: callable}
- max_concurrentint, optional
Max tasks from this batch running simultaneously. If None, no limit (uses global worker limit).
- batch_idstr, optional
Existing batch ID to add tasks to. If None, creates new batch.
- Returns:
- str
Batch ID for tracking