Class: QgsTaskManager¶
- class qgis.core.QgsTaskManager¶
Bases:
PyQt5.QtCore.QObject
Task manager for managing a set of long-running
QgsTask
tasks. This class can be created directly, or accessed viaQgsApplication.taskManager()
.New in version 3.0.
QgsTaskManager(parent: QObject = None) Constructor for QgsTaskManager.
- Parameters
parent –
parent QObject
Methods
Returns a list of the active (queued or running) tasks.
Adds a task to the manager.
Instructs all tasks tracked by the manager to terminate.
Returns the number of tasks tracked by the manager.
Returns the number of active (queued or running) tasks.
Returns
True
if all dependencies for the specified task are satisfiedReturns a list of layers on which as task is dependent.
Returns the task with matching ID.
Returns the unique task ID corresponding to a task managed by the class.
Returns all tasks tracked by the manager.
Returns a list of tasks which depend on a layer.
Triggers a task, e.g.
Signals
Emitted when all tasks are complete
Emitted when the number of active tasks changes
Will be emitted when only a single task remains to complete and that task has reported a progress change
Will be emitted when a task reports a progress change
Will be emitted when a task reports a status change
Emitted when a task is about to be deleted
Emitted when a new task has been added to the manager
Emitted when a
task
is triggered.
- class TaskDefinition(task: QgsTask, dependentTasks: Iterable[QgsTask] = [])¶
Bases:
sip.wrapper
Constructor for TaskDefinition. Ownership of the task is not transferred to the definition, but will be transferred to a QgsTaskManager.
QgsTaskManager.TaskDefinition(QgsTaskManager.TaskDefinition)
- dependentTasks¶
- task¶
- activeTasks(self) List[QgsTask] ¶
Returns a list of the active (queued or running) tasks.
See also
- Return type
List[QgsTask]
- addTask(self, task: QgsTask, priority: int = 0) int ¶
Adds a task to the manager. Ownership of the task is transferred to the manager, and the task manager will be responsible for starting the task. The priority argument can be used to control the run queue’s order of execution, with larger numbers taking precedence over lower priority numbers.
- Returns
unique task ID, or 0 if task could not be added
addTask(self, task: QgsTaskManager.TaskDefinition, priority: int = 0) -> int Adds a task to the manager, using a full task definition (including dependency handling). Ownership of the task is transferred to the manager, and the task manager will be responsible for starting the task. The priority argument can be used to control the run queue’s order of execution, with larger numbers taking precedence over lower priority numbers.
- Return type
int
- Returns
unique task ID, or 0 if task could not be added
- Parameters
task (QgsTask) –
priority (int = 0) –
- allTasksFinished¶
Emitted when all tasks are complete
See also
countActiveTasksChanged()
[signal]
- cancelAll(self)¶
Instructs all tasks tracked by the manager to terminate. Individual tasks may take some time to cancel, or may totally ignore this instruction. Calling this does not block but will instead signal the tasks to cancel and then return immediately.
- childEvent(self, QChildEvent)¶
- connectNotify(self, QMetaMethod)¶
- count(self) int ¶
Returns the number of tasks tracked by the manager.
- Return type
int
- countActiveTasks(self) int ¶
Returns the number of active (queued or running) tasks.
See also
See also
- Return type
int
- countActiveTasksChanged¶
Emitted when the number of active tasks changes
See also
countActiveTasks()
[signal]- Parameters
count (int) –
- customEvent(self, QEvent)¶
- dependenciesSatisfied(self, taskId: int) bool ¶
Returns
True
if all dependencies for the specified task are satisfied- Parameters
taskId (int) –
- Return type
bool
- dependentLayers(self, taskId: int) List[QgsMapLayer] ¶
Returns a list of layers on which as task is dependent. The task will automatically be canceled if any of these layers are about to be removed.
- Parameters
taskId (int) – task ID
- Return type
List[QgsMapLayer]
- Returns
list of layers
See also
- disconnectNotify(self, QMetaMethod)¶
- finalTaskProgressChanged¶
Will be emitted when only a single task remains to complete and that task has reported a progress change
- Parameters
progress (float) – percent of progress, from 0.0 - 100.0 [signal]
- isSignalConnected(self, QMetaMethod) bool ¶
- progressChanged¶
Will be emitted when a task reports a progress change
- Parameters
taskId (int) – ID of task
progress (float) – percent of progress, from 0.0 - 100.0 [signal]
- receivers(self, PYQT_SIGNAL) int ¶
- sender(self) QObject ¶
- senderSignalIndex(self) int ¶
- statusChanged¶
Will be emitted when a task reports a status change
- Parameters
taskId (int) – ID of task
status (int) – new task status [signal]
- task(self, id: int) QgsTask ¶
Returns the task with matching ID.
- Parameters
id (int) – task ID
- Return type
- Returns
task if found, or
None
- taskAboutToBeDeleted¶
Emitted when a task is about to be deleted
- Parameters
taskId (int) – ID of task [signal]
- taskAdded¶
Emitted when a new task has been added to the manager
- Parameters
taskId (int) – ID of task [signal]
- taskId(self, task: QgsTask) int ¶
Returns the unique task ID corresponding to a task managed by the class.
- Parameters
task (QgsTask) – task to find
- Return type
int
- Returns
task ID, or -1 if task not found
- taskTriggered¶
Emitted when a
task
is triggered. This occurs when a user clicks on the task from the QGIS GUI, and can be used to show detailed progress reports or re-open a related dialog.See also
triggerTask()
[signal]- Parameters
task (QgsTask) –
- tasksDependentOnLayer(self, layer: QgsMapLayer) List[QgsTask] ¶
Returns a list of tasks which depend on a layer.
See also
- Parameters
layer (QgsMapLayer) –
- Return type
List[QgsTask]
- timerEvent(self, QTimerEvent)¶