В настоящее время у нас есть последовательный рабочий процесс в 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 может понять это, у меня есть множество логов и примеров.