Задержка не всегда работает в рабочем процессе Sharepoint 2010 - PullRequest
5 голосов
/ 23 марта 2011

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

1 Ответ

8 голосов
/ 25 мая 2011

Эта проблема была решена.Я забыл опубликовать разрешение ...

Необходимо изменить три параметра.Дроссель рабочего процесса, пакет рабочего процесса и скрытый таймер рабочего процесса.

Текущий параметр газа можно проверить, выполнив следующую команду:

stsadm -o getproperty -pn workflow-eventdelivery-throttle

Вот мой новый параметр:

stsadm -o setproperty -pn workflow-eventdelivery-throttle -pv "45"

Вы можете проверить текущую настройку размера пакета, выполнив следующую команду:

stsadm -o getproperty -pn workitem-eventdelivery-batchsize

Вот мои новые настройки.

stsadm -o setproperty -pn workitem-eventdelivery-batchsize -pv "250"

Вы можете проверить текущую настройку интервала, выполнив следующую команду, в которой вы заменитеURL с допустимым путем к приложению SharePoint:

stsadm -o getproperty -pn job-workflow -url http://yoursiteurl

Вот мои настройки:

stsadm -o setproperty -pn job-workflow -pv "Каждые 5 минут между 0 и 59" -url http://yoursiteurl

...