Исполнитель Задач
Исполнитель задач (Job Executor) отвечает за управление и выполнение асинхронных задач. Он обрабатывает такие задачи, как таймеры, асинхронные продолжения и другие фоновые процессы, которые необходимо выполнять вне основного потока процесса. Перенос задач на исполнитель задач обеспечивает сохранение отзывчивости и эффективности основного потока выполнения.
Исполнитель задач работает в многопоточной среде, что позволяет ему обрабатывать несколько задач одновременно. Он извлекает задачи из базы данных, выполняет их и обновляет их статус соответственно. Этот механизм необходим для реализации таких функций, как отложенные задачи и запланированные события в бизнес-процессах.
Типы Задач
Исполнитель задач берёт на себя два основных типа задач:
- 
Timer Jobs: Эти задачи запланированы на выполнение в определенное время, часто связанные с пограничными событиями в моделях BPMN. 
- 
Асинхронные задачи: Создаются, когда задача помечена атрибутом flowable:async="true", указывающим на то, что она должна выполняться асинхронно.
Поток Выполнения
- 
Когда экземпляр процесса достигает точки, где необходима асинхронная задача или таймер, исполнитель задач добавляет соответствующую запись в таблицу ACT_RU_JOB.
- 
Для задач с таймером поток периодически проверяет задачи, которые должны быть выполнены, и запускает их соответственно. 
- 
Для асинхронных задач, как только API-вызов для создания задачи успешно завершен, слушатель транзакций запускает исполнителя задач, чтобы выполнить эту задачу.