Архив за месяц: Май 2016

[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!

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

Сказ о том, как я искал себе новые крылья.

Совсем не хватает мне времени на ведение блога.
Так получилось что судьба свела меня с моими новыми крыльями.
В процессе поиска себе мотоцикла «после чесотки» мой выбор пал на Kawasaki ZX-9R C1,C2
Почему? Да потому что со слов владельцев она удобна почти как ZZR, что у нее та же кавасовская харизма, и запас мощи такой, что «ой мама не горюй».
Был у меня вариант взять у знакомого человека, который всеми фибрами души уже перебрался на пан-европу.
Но не срослость… к счастью.
Попался другой вариант и уже совсем за другие деньги. Ехать за ним пришлось аж-но в Великие Луги, что под Псковом.
Кавас приехал в Россию из Италии в августе 2015 года и по нашим дорогам пробежал где-то порядка 400КМ.
А состояние… просто закачаешься. Мотоцикл выглядит практически, как только что сошедший с конвейера.
zx92
Мой хороший друг и сосед по гаражам еще задолго до того, как я его купил. Очень оживленно рекомендовал мне именно эту модель. А уж он-то толк в кавасах знает. Сам 20 с гаком лет катается на мотоциклах и большую часть на кавасах. Теперь-то я понимаю, что то, что я себе приобрел — ни иначе предел моих мечтаний. По-настоящему честный мотоцикл без сложной электроники, которая все делает за тебя, удобный в ремонте. А как он рулится по дороге… словами не передать.
Что говорить об 143 необузданных лошадках. Начинаешь понимать людей покупающих себе 600й Мерседес и ездящих неспешно по городу. А куда собственно спешить? Небольшое движение правой рукой и 120кмч уже позади, а ведь запаса ручки газа хватит существенно на большее.
И хотя я пока еще только прикатываюсь к мотоциклу, но мне уже становится понятно, что данные крылья — мой идеал.
На церемонии наречения ей было наречено имя Scogul(Скёгуль) в честь одной из Валькирий, чье имя обозначает «свирепствующая». На мой вкус это имя очень точно передает саму суть, саму душу мотоцикла.