В настоящее время у нас есть последовательный рабочий процесс в sharepoint 2010 с задержкой.
Задержка установлена на пять минут. Рабочий процесс проверяет состояние пяти задач и, в зависимости от результатов, задерживает или завершает.
У меня есть элемент журнала истории рабочего процесса, настроенный на запись непосредственно перед задержкой и сразу после задержки.
Иногда задержка не срабатывает, пример может быть следующим:
Задержка активируется каждые пять минут в течение 3 полных дней на одном предмете, затем без особой причины она не просыпается в течение 17 часов ... затем срабатывает и завершается.
Есть идеи? Я проверил, что все службы таймера работают правильно и т. Д.
Другая странность в том, что может быть запущено 20 элементов рабочих процессов, и только 4 или 5 будут иметь эту проблему, это кажется совершенно случайным.
Также: если я внесу изменение в элемент рабочего процесса, которое приведет к его повторному запуску, действие задержки будет активировано в течение следующего 5-минутного цикла.
Обновление: я обнаружил в своем журнале ошибок ошибку, которая возникает, когда задержка не может проснуться.
Workflow ID=07acf527-d5cb-41c7-a8e4-58329652dc53 attempting to run on a thread currently executing workflow ID=fe2d7670-7d3e-4e6a-b024-0cc3485aa73b. This workflow will be run at a later time.
Обновление: по-видимому, это происходит, потому что рабочий процесс с задержкой запускается программно из другого рабочего процесса. Это приводит к тому, что второй рабочий процесс запускается в том же потоке. Кто-нибудь знает, как указать новый поток программно?
Обновление 2: я настроил некоторые рабочие процессы для запуска с 5-минутной задержкой, чтобы посмотреть, был ли какой-либо шаблон в циклах ожидания. Рабочие процессы спали с 5-минутными интервалами около 6 часов, затем таймер начал увеличиваться следующим образом
5 минут
15 минут
45 минут
1,5 часа
3 часа
6 часов
12 часов
Похоже, что таймеры задержки по большей части удваиваются. Я уверен, что MS может понять это, у меня есть тонны журналов и примеров.