TaskTree: Difference between revisions
m (Mention about the extensibility.) |
m (Grammar fix, I hope :)) |
||
Line 33: | Line 33: | ||
| TrafficLight || https://github.com/qt-creator/qt-creator/tree/master/tests/manual/tasking/trafficlight || An alternative implementation of https://doc.qt.io/qt-6/qtscxml-trafficlight-widgets-static-example.html using TaskTree | | TrafficLight || https://github.com/qt-creator/qt-creator/tree/master/tests/manual/tasking/trafficlight || An alternative implementation of https://doc.qt.io/qt-6/qtscxml-trafficlight-widgets-static-example.html using TaskTree | ||
|- | |- | ||
| DataExchange || https://github.com/qt-creator/qt-creator/tree/master/tests/manual/tasking/dataexchange || An example | | DataExchange || https://github.com/qt-creator/qt-creator/tree/master/tests/manual/tasking/dataexchange || An example of a reusable TaskTree recipe | ||
|- | |- | ||
| Suggestions || https://bugreports.qt.io/browse/QTCREATORBUG-28741 | | Suggestions || https://bugreports.qt.io/browse/QTCREATORBUG-28741 |
Revision as of 17:55, 24 May 2024
TaskTree - generic solution for automatic management of asynchronous tasks (C++)
TaskTree automatically manages a chain (or a tree) of asynchronous tasks of mixed types, including running processes, network queries, functions in separate threads, animations, timers, and so on... It's easily extensible with any other types of asynchronous tasks.
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 broadly used in QtCreator, for executing Build / Deploy configurations, Locator filter, Clang tool, Autotests, driving Axivion plugin's communication 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