Здесь могут быть 2 идеи:
1. Очереди задач. Есть какое-то количество задач (элемент АОТа Task) в пуле (очереди) задач. Кто из пользователей, кто полномочен эти задачи решать - жмет кнопку принять (аналог того, что человек, обслуживающий посетителей жмет кнопку "следующий по электронной очереди"). Ему попадает какая-то задача. Он ее на себя берет, выполняет и по ее завершению - жмет кнопку Выполнить. Также он может эту задачу вернуть обратно в очередь задач.
2. Как глобально работает WF: Когда пользователь нажал кнопку, то система не кинулась прямо сразу выполнять действия, которые заложены в WF. Крутится независимый пакетник, который (условно раз в минуту) проверяет все элементы WF (и Task и Approval) на предмет изменения их статуса. Ну и скопом их обрабатывает.
Поэтому Ваш пример может быть просто примером "оптовой" обработки элементов WF (потому что это просто пакетник). Но Вы могли также видеть и функционал работы с очередями
__________________
Возможно сделать все. Вопрос времени
|