Архив рубрики: Database

[Project Server] GeneralQueueJobFailed (26000) — WorkflowCheckinNotify. ProjectCheckinNotifyWorkflowMessage.

СУТЬ ПРОБЛЕМЫ:


Ферма из двух серверов (АПП/ВФЕ и СУБД) Развернут Workflow Manager.
Развернут единственный PWA-инстанс.
Есть некоторое количество проектов. Проекты ведут РП. Назначают ресурсы на задачки.
Есть ресурсы, которые в скором времени будут отчитываться о проделанной работе через интерфейс «Задачи»; РП соответственно будут утверждать/отклонять изменения в разделе «Утверждения».
Изменения приходят на утверждение, прекрасно утверждаются и отображаются в ПГ у РП.
Последовательность приводящая к обнаружению проблемы:

  1. Если ресурс принимает решение о невозможности выполнения им задачи (перегруз или еще что-либо), предлагает в качестве конечного ресурса другого исполнителя.
  2. Отправляет запрос по замене ресурса задачи на утверждение РП.
  3. РП видит запрос, утверждает.
  4. Задача до публикации отображается в перечеркнутом виде. У конечного ресурса — пусто.
  5. РП открывает ПГ и публикует его.
  6. У первоначального ресурса задача исчезает.
  7. У конечного ресурса задача в разделе «Задачи» так и не появляется.

При этом в веб-интерфейсе и в ПП указан конечный ресурс. Лезем в БД(схема pub) и видим там то же самое.
Открыв очередь сервера видим строчку вида
Время начала, время окончания, тип задания (Возврат рабочего процесса проекта), Состояние задания (Сбой, но не блокирующая взаимосвязь), %, Владелец.
Открывая подробности задания получаем нечто вида:

Общие•
Queue:
GeneralQueueJobFailed (26000) — WorkflowCheckinNotify.ProjectCheckinNotifyWorkflowMessage. Подробные сведения: id=’26000′ name=’GeneralQueueJobFailed’ uid=’edc2c3ff-c520-e611-80d7-005056b253c3′ JobUID=’e9c2c3ff-c520-e611-80d7-005056b253c3′ ComputerName=’20b2345b-83d5-4439-bebc-d7bcc2b286b4′ GroupType=’WorkflowCheckinNotify’ MessageType=’ProjectCheckinNotifyWorkflowMessage’ MessageId=’1′ Stage=» CorrelationUID=’ccf07e9d-cae8-800f-286b-43c20d3ce6e9′. Для получения дополнительных сведений проверьте журналы ULS на компьютере 20b2345b-83d5-4439-bebc-d7bcc2b286b4 для записей с JobUID e9c2c3ff-c520-e611-80d7-005056b253c3.

Лезем в ULS и находим там строку ексепшена:

05/23/2016 12:09:06.77 Microsoft.Office.Project.Server (0x0724) 0x299C SharePoint Server Workflow Services aiz9y Exception Microsoft.Workflow.Client.ScopeNotFoundException: Scope ‘/SharePoint/default/c098e879-88a3-455b-b56a-e18fb8c9d23a/6c93d7e6-892a-4e63-91b3-fcd01d91d3ad’ was not found. HTTP headers received from the server — ActivityId: 2eae81b0-e2b4-40a8-97ba-6c739c5cef7e. NodeId: PORTAL. Scope: /SharePoint/default/c098e879-88a3-455b-b56a-e18fb8c9d23a/6c93d7e6-892a-4e63-91b3-fcd01d91d3ad. Client ActivityId : ccf07e9d-cae8-800f-286b-43c20d3ce6e9. —> System.Net.WebException: The remote server returned an error: (404) Not Found. at Microsoft.Workflow.Common.AsyncResult.End[TAsyncResult](IAsyncResult result) at Microsoft.Workflow.Client.HttpGetResponseAsyncResult`1.End(IAsyncResult result) at Microsoft.Workflow.Client.ClientHelpers.SendRequest[T](HttpWebRequest request, T content) — End of… ccf07e9d-cae8-800f-286b-43c20d3ce6e9

Пробовал переконфигурировать ферму Workflow и ServiceBus.
Успешно захожу на сервис WFF по порту 12291(http) внутрь /SharePoint/default/, однако все что глубже отсутствует.
Пробуксовав несколько дней с этим вопросом. Я все-таки нашел решение.
Дело в том, что, как написано выше проблема в том, что отсутствует искомый скоуп.
Проверить это можно так же сделав запрос к СУБД:

USE WFResourceManagementDB
SELECT [Path],[Status] FROM [dbo].[Scopes]

В итоге нужного скоупа там нет :(
РЕШЕНИЕ:


Однако для того, чтобы исправить эту проблему потребуется совсем немного:

  1. Открыть SharePoint Designer
  2. Попробовать создать рабочий процесс сайта для коллекции /PWA. Требуется создать Рабочий процесс категории SharePoint 2013 — Project Server. (Возможно Вас попросят создать Стадию в административной части центра проектов. Если так, сделайте это.
  3. После создания простейшего рабочего процесса Вам необходимо его сохранить и опубликовать.
  4. Нужный скоуп был создан автоматически при публикации рабочего процесса. Profit!

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