TaskTree
Jump to navigation
Jump to search
TaskTree - generic solution for automatic management of asynchronous task (C++)
TaskTree automatically manages a chain (or a tree) of asynchronous tasks of mixed types.
The recipe on how to run and manage the conglomerate of tasks is described in a declarative way in C++.
The recipes are enclosed in copyable value-type objects and may be run many times, or be part of more general recipes.
The TaskTree is currently broadly used in QtCreator, for executing Build / Deploy configurations, Locator filter, Clang tool, Autotests, and much more...
The TaskTree's implementation is separated from the QtCreator specific code and may already serve as a general purpose solution outside of QtCreator.
Notes from the presentation/discussion at Qt Contributors Summit 2023: TaskTree CS23
More Info
Content | Link | Additional Info |
---|---|---|
Documentation | https://doc-snapshots.qt.io/qtcreator-extending/taskingsolution-module.html | |
Sources | https://github.com/qt-creator/qt-creator/tree/master/src/libs/solutions/tasking | |
Autotests | https://github.com/qt-creator/qt-creator/tree/master/tests/auto/solutions/tasking | |
Demo | https://github.com/qt-creator/qt-creator/tree/master/tests/manual/tasking/demo | |
ImageScaling | https://github.com/qt-creator/qt-creator/tree/master/tests/manual/tasking/imagescaling | An alternative implementation of https://doc.qt.io/qt-6/qtconcurrent-imagescaling-example.html using TaskTree |
ImageScaling diff | https://codereview.qt-project.org/c/qt-creator/qt-creator/+/481573 | Difference in the implementation of the ImageScaling example using QFuture::then() and TaskTree |
Suggestions | https://bugreports.qt.io/browse/QTCREATORBUG-28741 |