About This Architecture
TaskManager scheduling and execution flow coordinates asynchronous task processing across clients, timers, workers, and persistent storage. The Client submits tasks to TaskManager, which orchestrates scheduling via a Scheduler/Timer, persists task state in a multi-table Database (tasks, notification_tasks, nextcloud_tasks), and delegates execution to Task Executor/Worker instances. TaskManager acts as the central hub, managing task lifecycle from submission through completion with bidirectional communication to all components. This architecture decouples task submission from execution, enabling scalable, resilient background job processing. Fork this diagram on Diagrams.so to customize task types, add retry logic, or integrate additional workers and data stores.