Что происходит с повторяющимися рабочими процессами после перезапуска асинхронной службы? - PullRequest
2 голосов
/ 04 февраля 2012

Наша организация планирует основывать части нашей бизнес-модели на предпосылке повторяющихся рабочих процессов в CRM 2011. Однако иногда мы сталкиваемся с проблемой с резервной копией очереди рабочих процессов, или по какой-то причине необходимоперезапустить сервер (накопительные пакеты обновления и т. д.) или каким-либо другим способом обнаружить, что нам нужно перезапустить асинхронную службу CRM.

Что произойдет с любыми рабочими процессами на этапе ожидания в этом сценарии?

  • Я вижу рабочий процесс в таблице AsyncOperationBase с "ожиданием" statuscode;когда служба возвращается в оперативный режим, просматривает ли она эту таблицу и возобновляет ли она соответствующим образом?
  • В вышеописанном сценарии, что произойдет, если служба будет остановлена, а промежуточный рабочий процесс достиг своего PostponeUntilДата?Служба рассматривает все незавершенные будущие рабочие процессы и с задним числом и решает, что делать с каждым?Или рабочий процесс просто полностью сбоит?

Любые сбои в процессе, очевидно, будут препятствием для этого элемента системы CRM, и нам придется разработать внешний компонент для обработки повторяющихся элементов..

Я бы ожидал , что будет некоторая документация по этому вопросу, но я могу только догадываться, что класс WaitSubscription имеет какое-то отношение к этой теме,но по большей части без документов.

1 Ответ

2 голосов
/ 19 февраля 2012

На данный момент мы решили использовать внешнюю службу для управления этим из-за, казалось бы, черного ящика асинхронного процесса. Трассировка вызовов на сервер базы данных показывает много вызовов к таблице AsyncOperationBase, что заставляет меня поверить, что служба всегда проверяет, выполняется ли работа, но в отсутствие экстремального тестирования, пока это более безопасно использовать отдельный сервис для этого требования.

...