2010-07-20 2 views
1

Есть ли способ контролировать (например, приоритизировать) порядок выполнения рабочих процессов SharePoint (а не операций рабочего процесса, но целых рабочих процессов)?Порядок управления, в котором выполняются рабочие процессы SharePoint.

Набор рабочих процессов для списка SharePoint состоит из рабочих процессов, которые либо создаются с использованием SharePoint Designer, либо являются настраиваемыми рабочими процессами, установленными через WSP. Мы хотели бы гарантировать, что некоторые рабочие процессы (например, рабочие процессы, которые вычисляют значения для некоторых из полей) выполняются до выполнения остальной последовательности рабочего процесса (например, рабочие процессы, которые копируют данные).

ответ

1

Если это работает для вас, вы можете вместо этого сказать, рабочий процесс 1, чтобы запустить рабочий процесс 2.

Вы можете скачать Start Another Workflow деятельности для использования в дизайнерских рабочих процессах.

+0

Я думал об этом. К сожалению, я не знаю, какие другие рабочие процессы нужно выполнять во время разработки. И я должен был бы иметь возможность изменять все рабочие процессы таким образом. Какие гарантии у меня есть, что рабочий процесс 2 не будет вызван или будет вызван перед рабочим процессом 1? –

+0

Это просто действие - вы называете любой рабочий процесс, который вам нравится, на любых условиях. «Если значение> 1, вызовите wf 5 else, просто закончите». –

+0

Предположим, что в списке есть 3 связанных с ним процесса: w1, w2 и w3, и предположим, что мне нужно выполнить w3 перед любыми другими. Как я могу убедиться, что w3 запускается первым? Я предполагаю, что среда выполнения SharePoint выбирает заказ, нет? Я знаю, что могу написать w4, который вызывает w3, затем w2, затем w1. Но что, если пользователь добавит w5 или удалит w1, тогда мне придется модифицировать w4 для учета этого изменения, что нам нужно будет автоматизировать. –

1

Возможно, вас заинтересует Codeplex Sharepoint 2010 Admin Pack, который включает в себя Workflow Organizer - он делает именно то, что вы хотите: назначьте приоритеты Workflows и выполните их в определенном порядке.

0

Вы можете приостановить (приостановить действие) рабочий процесс, который должен запускаться после первого. Он может быть уложен в стопку, один ждет 5 минут, другой ждет 10 и т. Д. Я не верю, что первый будет ждать, пока второй закончит, прежде чем начать, если только это не место.

У меня была эта проблема с рабочим процессом, который использовал поле ID, чтобы создать простой идентификатор «problem_ [ID]» и другой рабочий процесс, используя это поле, чтобы создать запись в другом списке. Если запись создания была первой, она либо заполнила бы «problem_», либо не запустилась. Пауза решила проблему. Я бы также экспериментировал с тем, какой рабочий процесс был опубликован последним, но я не хотел рисковать своим предшественником, публикуя рабочий процесс и разбивая систему.

Смежные вопросы