Система постановки в очередь Microsoft Office Project Server 2007

Обновлено: Май 2009 г.

 

Последнее изменение раздела: 2015-02-27

Содержание:

  • Обзор

  • Процесс создания очередей

  • Архитектура очередей

  • Очереди проектов и расписаний

  • Развертывание очередей

  • Группирование очередей

  • Состояния очередей

  • Управление очередями

  • Администрирование очередей

В этой статье описана система очередей Microsoft Office Project Server 2007, которая является новой и ключевой функцией этой версии Project Server. В статье представлен обзор системы очередей, процесс создания очередей и их архитектура, методы группирования заданий по созданию очередей, состояния заданий и управления очередями с использованием пользовательского интерфейса Microsoft Office Project Web Access.

Обзор

Очередь — это конвейер, потребность в котором возникает, когда число запросов превышает оптимальную производительность сервера. В системе Enterprise Project Management такое происходит в нескольких случаях. К примеру:

  • в конце рабочего дня в пятницу почти все 500 сотрудников небольшого предприятия отправляют свои расписания;

  • за несколько часов до собрания рабочей группы почти все руководители проектов публикуют свои проекты.

Назначение системы очередей Office Project Server 2007 заключается в обеспечении постепенной и надежной обработки задач. Система очередей Office Project Server 2007 принимает всю входяющую информацию от пользователей, регистрирует все запросы к Microsoft SQL Server, а затем обрабатывает данные асинхронно в порядке их поступления. Очередь обеспечивает надежную работу решения EPM Office Project Server 2007 в периоды пикового числа запросов.

Почти все критические операции в системе Office Project Server 2007 проходят через систему очередей Office Project Server 2007. К ним относятся следующие операции.

  • Сохранение проекта

  • Публикация проекта

  • Сохранение расписания

  • Отправка расписания

  • Резервное копирование/восстановление проекта

  • Операции службы данных отчетов

  • Операции службы построения куба

  • Планирование на сервере (и обработка последовательности узлов)

Система очередей Project Server предоставляет следующие преимущества.

  • Надежность

    1. Целостность данных. Существует четко определенный протокол для сохранения любых заданий в очереди. Если задание сохранено наполовину, оно не обрабатывается. Также, все задания сохраняются на сервере SQL (не в файловой системе) и используют транзакции сервера SQL.

    2. Поставка в правильном порядке. Если пользователь Project Professional нажимает кнопку Сохранить, а затем кнопку Опубликовать, система очередей сервера Project обеспечивает выполнение вначале задания по сохранению, а затем уже задания по публикации.

    3. Отказоустойчивость. Возможна повторная попытка выполнения невыполненных заданий в очереди. Кроме того, при выполнении более одного экземпляра службы очередей NT, если один из них не отвечает, второй автоматически перехватывает избыточную нагрузку. (Этот процесс называется прозрачной отработкой отказа.)

  • Масштабируемость

    1. Многопотоковость. Система очередей Office Project Server 2007 способна обрабатывать несколько заданий одновременно. Например, одновременно сохранять Проект 1, публиковать Проект 2 и выполнять построение куба.

    2. Для ускорения обработки нагрузки можно просто добавить несколько серверов среднего уровня. На каждом сервере будет выполняться служба очередей Project, а балансировка нагрузки будет осуществляться автоматически.

    3. Число заданий в очереди ограничивается только пределами масштабируемости сервера SQL.

  • Управляемость

Процесс создания очередей

Этот процесс показан на следующем рисунке.

Обработка очереди Project Server 2007

  1. Пользователь создает запрос к серверу из клиентского приложения (например, опубликовать проект из Project Professional). Пользователь передает идентификатор задания (уникальный идентификатор для отслеживания запроса) как часть запроса.

  2. Веб-служба Project принимает запрос и помещает его в очередь.

  3. Пользователю в качестве подтверждения отправляется идентификатор задания.

  4. Пользователь отправляет запрос для проверки состояния, используя полученный идентификатор.

  5. Система очередей Office Project Server 2007 возвращает пользователю сведения о состоянии запроса.

Архитектура очередей

Логическая архитектура системы очередей Project Server состоит из следующих четырех модулей.

  • Хранилище заданий

  • Опрос заданий

  • Обработка заданий

  • Проверка состояния заданий и управление заданиями

При выполнении запросов к службе очередей Project Server, таких как добавление или обработка заданий или получение сведений о состоянии, эти модули работают как одно целое, выполняя требуемую задачу. Ниже этот процесс описан подробнее.

Модули

Служба очередей NT установлена на каждом сервере приложений Project Server в процессе наполнения содержимым. Служба запускает один "процесс обработки очереди" для каждого поставщика общих служб (SSP), определенного в ферме. Процесс обработки очереди обслуживает все экземпляры веб-клиента Project (PWA), связанные с SSP, и выполняется от имени администратора SSP. Помните об этой модели развертывания, когда будете читать дальше. Дополнительные сведения см. в разделе Развертывание очередей ниже.

Служба очередей NT Project Server 2007

Система очередей Project Server состоит из следующих модулей:

  1. Хранилище заданий. Задания в очереди хранятся в базах данных черновиков и опубликованных проектов сервера Project Server. Таким образом обеспечивается резервное копирование и восстановление в рамках нормальной процедуры резервного копирования и восстановления баз данных Project Server.

    Хранилище заданий

  2. Опрос заданий. Хранилище заданий регулярно опрашивается с заданным интервалом потоком опроса заданий с целью проверки наличия новых заданий. Интервал опроса задается администратором на странице управления очередями веб-клиента Project.

    Опрос заданий

    1. Процесс обработки очереди запускает поток опроса заданий для каждого обслуживаемого экземпляра PWA. Поток опроса заданий выполняется внутри "процесса обработки очереди" от имени "процесса обработки очереди".

    2. Поток опроса заданий обладает двумя основными свойствами:

      Свойство Описание

      Тип

      Данный поток опроса задания может быть "потоком опроса задания проекта" (выполняющим поиск заданий, относящихся к проектам) или "потоком опроса задания расписания" (выполняющим поиск заданий, относящихся к расписанию).

      Экземпляр веб-клиента Project

      Каждый поток опроса задания выполняет поиск заданий, происходящих из конкретного экземпляра веб-клиента Project.

  3. Обработка заданий. Поток опроса задания запускает один поток обработки задания для каждого найденного задания. Максимальное число потоков обработки заданий настраивается администраторами. Следует заметить, что потоки обработки заданий размещаются внутри процесса "службы очередей NT" и выполняются от имени "службы очередей NT".

    Project Server 2007 — обработка задания из очереди

  4. Проверка состояние заданий и управление заданиями. Это модуль очереди сервера Project, видимый пользователю.

    Проверка состояния задания и управления им

    1. Страница управления очередями веб-клиента Project. Эта страница используется администраторами для просмотра состояния любого задания в очереди. Здесь также можно отменять задания или повторять выполнение неудавшихся. Эта функция является частью PWA — загрузка дополнительного средства не требуется.

    2. Страница параметров очередей веб-клиента Project. Эта страница используется администраторами для просмотра и изменения параметров очереди, таких как интервал опроса и максимальное число потоков обработки заданий. Эта функция является частью PWA — загрузка дополнительного средства не требуется.

    3. Страница веб-клиента Project "Мои задания в очереди". Используя этот интерфейс, каждый пользователь может проверить состояние задания. Эта функция является частью PWA — загрузка дополнительного средства не требуется.

    4. Состояние очереди PSI. Разработчики программного обеспечения могут использовать эти интерфейсы для получения сведений о состоянии заданий в очереди. Для оптимизации поиска предоставляется ряд мощных фильтров.

Как это работает

Модули системы очередей Project Server должны взаимодействовать и работать как одно целое, когда система получает запросы о добавлении, обработке или получении сведений о состоянии задания.

Добавление заданий

Существует множество способов добавления заданий в очередь. Например, менеджер проекта может сохранить проект из Project Professional, участник группы может отправить расписание, стороннее приложение может опубликовать проект. Каждое из этих действий может обратиться к элементу интерфейса сервера Project Server (PSI), который, в свою очередь, добавляет соответствующее задание в очередь.

Добавление заданий —- архитектура

Обработка заданий

Обработка задания выполняется в несколько этапов и включает взаимодействие различных моделей:

  1. Запуск процесса обработки очереди. При запуске службы очередей NT она запускает один процесс обработки очереди для каждого поставщика общих услуг, определенного в ферме. Для обеспечения работы системы очередей Project должна всегда выполняться служба очередей NT.

  2. Запуск потоков опроса заданий. Когда запускается процесс обработки очереди, он запускает потоки опроса заданий, которые являются специфичными для конкретных экземпляров веб-клиента Project.

  3. Выполнение новых заданий. Поток опроса выполняет поиск новых заданий в базе данных проектов.

  4. Создание потоков обработки заданий. При наличии новых заданий создаются новые потоки их обработки.

  5. Состояние записи. Как только поток обработки задания завершен, сведения о состоянии задания (удачное или неудачное завершение) записываются в базу данных.

    Очередь обработки заданий Project Server 2007

Получение сведений о состоянии

Состояние задания можно проверить различными способами. Администраторы могут воспользоваться страницами управления очередями веб-клиента Project, участники групп могут использовать страницу "Мои задания в очереди", а разработчики программного обеспечения могут получить сведения о состоянии задания программными средствами с помощью методов очередей PSI. Дополнительные сведения о методах PSI см. в Документации по Project 2007 SDK в библиотеке сети MSDN в Интернете (https://msdn.microsoft.com/ru-ru/library/bb187390.aspx) (на английском языке).

Проверка состояния задания Project Server 2007

Очереди проектов и расписаний

Система очередей Office Project Server 2007 состоит из двух отдельных очередей:

  1. Очередь проектов   Используется для связанных с проектом сообщений, таких как сохранение, публикация, составление отчетов, создание куба, хотя в эту очередь могут помещаться также и другие сообщения. Таблицы и хранимые процедуры этой очереди находятся в базе данных черновиков Office Project Server 2007.

  2. Очередь расписаний   Используется для связанных с расписаниями сообщений, таких как сохранение расписания и отправка расписания, хотя в эту очередь могут помещаться также и другие сообщения. Таблицы и хранимые процедуры этой очереди находятся в базе данных опубликованных проектов Office Project Server 2007.

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

  • Производительность. Хранение данных очереди заданий в той же базе данных, где хранятся основные данные, предотвращает чрезмерные затраты ресурсов, связанные с обращениями ко всей базе данных при обработке заданий. Рассмотрим на примере. При возникновении задания отправки расписания данные, введенные пользователем (например, количество рабочих часов), упаковываются как часть отправленного в очередь задания и помещаются в хранилище заданий сервера SQL. Также, одновременно с этим, существует информация о расписании (продолжительность, имя и т.д.) и эта информация доступна в базе данных опубликованных проектов. Для обработки задания отправки расписания требуются оба набора данных. Производительность значительно повышается, если оба эти набора данных располагаются в одной и той же базе данных. Именно поэтому задания очереди "Расписания" хранятся в базе данных опубликованных проектов (где хранятся все основные данные расписаний), а задания очереди проектов хранятся в базе данных черновиков (где располагается большая часть основных данных проектов).

  • Точная настройка. Каждый параметр в очереди может быть задан отдельно для очередей проектов и расписаний. Это предоставляет администраторам некоторую гибкость при настройке конфигурации. Например, если пользователь использует Office Project Server 2007 для расписаний, а число проектов невелико, интервал опросов очереди проектов может быть установлен равным одной минуте, а интервал опроса очереди расписаний — 10 секундам.

    NoteПримечание:
    Интервал опроса указывает частоту проверки службой очередей наличия новых заданий в очередях. Этот параметр может быть задан на странице параметров очередей веб-клиента Project.

Использование очередей проектов и расписаний

На следующем рисунке показано, как система очередей Project Server обрабатывает очереди проектов и расписаний.

Архитектура очередей Project Server 2007

  1. Запуск потоков опроса заданий. Для каждого экземпляра веб-клиента Project, обслуживаемого очередью (очередь может обслуживать несколько экземпляров веб-клиента Project) запускается пара потоков опроса — один поток обслуживает очередь проектов, второй — очередь расписаний. Оба эти потока располагаются в пространстве процесса обработки очереди и выполняются от его имени (т.е. от имени администратора поставщика общих служб).

  2. Хранилище заданий. Как уже упоминалось выше, связанные с проектом задания (сохранение проекта, публикация, составление отчетов, создание куба и пр.) хранятся в базе данных черновиков. Связанные с расписанием задания (сохранение расписания, отправка расписания и пр.) хранятся в базе данных опубликованных проектов.

  3. Обработка задания. Здесь все без изменений. Как только потоки опроса заданий обнаруживают новые задания, создаются новые потоки их обработки. Следует заметить, что потоки обработки заданий размещаются в пространстве процесса службы очередей NT и выполняются от имени процесса обработки очереди (т.е. от имени администратора поставщика общих служб).

    В модулях проверки состояния изменений нет — они просто проверяют состояние задания и не учитывают, какой очереди принадлежит то или иное задание. Управление очередями всегда выполняется на основе очереди — на страницах управления очередями веб-клиента Project администратор должен выбрать, очередь (проектов или расписаний), параметры которой необходимо изменить.

Развертывание очередей

Чтобы понять, как выполняется развертывание системы очередей Project Server, необходимо понимать, как происходит развертывание самой Office Project Server 2007. В этом разделе представлено краткое описание процесса развертывания. Дополнительные сведения см. в статье Развертывание приложения Project Server 2007 в среде фермы серверов.

Даже после прочтения предыдущих разделов у читателя могут возникнуть следующие основные вопросы:

  1. Как изначально создается служба очередей NT?

  2. Как запускается служба очередей NT — например, как она находит местоположение баз данных черновиков и опубликованных проектов Project Server?

  3. Что происходит при наполнении содержимым нескольких экземпляров веб-клиента Project (когда создается несколько баз данных Project)?

  4. Что происходит при наполнении содержимым нескольких поставщиков общих служб (когда создается несколько служб очередей NT)?

Эти вопросы освещаются в данной главе.

Развертывание службы очередей NT при установке Project Server 2007

В этом разделе описывается, как выполняется развертывание очереди в контексте краткого обзора развертывания Office Project Server 2007.

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

    Подготовка компьютеров

  2. Создание фермы серверов Project. При попытке установки Project Server на какой-либо компьютер вам будет предложено создать ферму серверов (или присоединиться к существующей ферме). Грубо можно рассматривать ферму серверов Project как представление установки — инфраструктура фермы самостоятельно позаботится о развертывании всего необходимого в нужных местоположениях. При создании фермы также создается веб-сайт центра администрирования SharePoint, с помощью которого можно управлять всеми операциями фермы. Ферма включает базу данных конфигурации фермы, в которой хранятся сведения о конфигурации всех серверов, входящих в ферму.

    Создание фермы

  3. Установка двоичных файлов и присоединение к ферме. Следующий этап — это установка Office Project Server 2007 на все компьютеры и присоединение к ферме серверов Project. В рамках этого процесса компьютеру, на котором выполняется установка, необходимо назначить роль  "интерфейсный веб-сервер" или "сервер приложений" (компьютер среднего уровня).

    Установка двоичных файлов и присоединение к ферме

  4. Подготовка поставщика общих служб (SSP) в ферме. При подготовке поставщика общих служб в ферме службы/компоненты, необходимые для общих служб Project Server, устанавливаются на каждый компьютер с ролью сервера приложений. Кроме прочего, при этом создаются службы очередей NT и событий NT, а также веб-приложение PSI. В выноске белого цвета показана логическая конфигурация фермы. В данном случае SSP создается в ферме.

    Подготовка поставщика общих служб

    Некоторые замечания:

    1. Инфраструктура фермы самостоятельно позаботится об установке требуемых компонентов на все компьютеры среднего уровня. Если серверов среднего уровня несколько, нагрузка распределяется между ними автоматически.

    2. Каждая из служб NT выполняется от имени пула приложений поставщика общих служб. Ей нельзя управлять вручную с помощью параметров служб Панели управления Windows Server 2003. Служба времени SharePoint Services периодически выполняет синхронизацию учетных данных службы NT с учетной записью администратора фермы в базе данных конфигурации фермы.

    Службы NT на этом этапе бездействуют, поскольку нет еще сайта веб-клиента Project для обслуживания.

  5. Подготовка веб-клиента Project. Подготовка выполняется путем перехода на сайт администрирования поставщика общих служб (SSP) и создания экземпляра веб-клиента Project. После выполнения этого будут созданы службы/компоненты, необходимые для экземпляра веб-клиента Project. Процесс подготовки также сообщает службам очередей и событий о том, что появился сайт веб-клиента Project. В выноске белого цвета показана логическая конфигурация фермы. В данном случае новый экземпляр веб-клиента Project (например, PWA1) создан в ферме и связан с SSP, созданным на предыдущем этапе.

    Подготовка Project Web Access

    Некоторые замечания:

    1. Семейство сайтов служб Windows SharePoint Services и связанные с ним пулы приложений создаются на каждом компьютере интерфейсного веб-сервера.

    2. Создаются четыре базы данных Project Server.

    3. В базах данных конфигурации создаются записи, регистрирующие отношения между сайтом PWA, SSP и базами данных.

  6. Подготовка еще одного экземпляра веб-клиента Project. Это типичный пользовательский сценарий для создания дополнительных экземпляров PWA в ферме (например, для обслуживания http://project20007/sales и http://project2007/marketing). Когда это происходит, создаются новые наборы баз данных сервера Project, а также дополнительные семейства сайтов Windows Sharepoint Services и пулы приложений PWA. В выноске белого цвета показана логическая конфигурация фермы. В данном случае новый экземпляр веб-клиента Project (например, PWA2) создан в ферме и связан с SSP. Следует заметить, что для экземпляра PWA2 создается новый набор баз данных проектов. Теперь службы очереди и событий начинают обслуживать сайты PWA, связанные с SSP. В данном случае — PWA1 и PWA2.

    Подготовка другого экземпляра Project Web Access

Служба очередей NT на нескольких серверах приложений Project Server

Служба очередей NT создается на всех серверах приложений Project Server (также именуемых "серверами среднего уровня") в ферме. Например, если имеется два сервера приложений Project Server, то как только в ферме Project Server подготовлен новый поставщик общих служб, на обоих этих компьютерах создается новая служба очередей NT. Важно заметить, что служба очередей NT обслуживает все экземпляры PWA, связанные с родительским поставщиком общих служб.

Свойства службы очередей

Как отмечалось выше, служба очередей NT создается при подготовке SSP в ферме Project Server. При просмотре свойств компьютера среднего уровня для службы очередей NT важно понимать, как некоторые из этих свойств определяются.

Свойства служб очередей

  • Имя службы очередей. Имя службы — ProjectQueueService. Независимо от числа поставщиков общих служб в ферме на сервере приложений Project Server всегда присутствует только одна служба очередей.

  • Тип запуска очереди. Тип запуска очереди — автоматический, поскольку служба очередей NT должна выполняться постоянно.

  • Учетная запись входа службы очередей NT. В качестве учетной записи входа службы очередей NT задается учетная запись службы таймера (это та учетная запись, которую вы использовали при создании фермы).

Как выполняется первоначальная загрузка службы очередей NT и как служба начинает обслуживать экземпляры веб-клиента Project. Служба очередей выполняется как учетная запись службы таймера и получает доступ к базе данных конфигурации фермы. при запуске служба очередей NT посылает в базу данных конфигурации запрос и получает список всех подготовленных поставщиков общих служб (SSP) в ферме. Затем для каждого SSP она запускает процесс обработки очереди. Каждый процесс обработки очереди находит список экземпляров PWA, сопоставленных с SSP, и запускает пару потоков опроса для каждого из экземпляров PWA.

Когда необходимо перезапускать службу очередей NT? В идеале — никогда. Служба очередей NT непрерывно отслеживает изменения в конфигурации фермы и в случае обнаружения изменений автоматически адаптируется к ним (без необходимости перезапуска).

Процессы, видимые в диспетчере задач Windows. Если открыть диспетчер задач Windows, то можно увидеть ряд процессов с одним и тем же именем — Microsoft.Office.Project.Server.Queuing.exe. Один из них будет выполняться от имени учетной записи службы таймера — он и является службой очередей NT. Кроме этого, в списке будет столько процессов Microsoft.Office.Project.Server.Queuing.exe, сколько в ферме имеется поставщиков общих служб. каждый из процессов будет выполняться от имени соответствующей учетной записи администратора SSP. Эти процессы представляют процессы обработки очередей, поэтому общее число процессов с именем "Microsoft.Office.Project.Server.Queuing.exe" равно числу поставщиков общих служб плюс один (для учетной записи службы таймера).

Развертывание службы очередей в различных топологиях

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

Запуск/обслуживание службы очередей с несколькими PWA

При запуске службы очередей она в первую очередь обращается к базе данных конфигурации фермы и запрашивает все экземпляры веб-клиента Project, которые должна обслуживать. Служба очередей идентифицирует себя с помощью идентификатора GUID поставщика общих служб, который является параметром запуска для службы очередей NT (дополнительные сведения см. в разделе, посвященном развертыванию очередей).

Project Server 2007 — две веб-очереди

  1. Служба очередей NT обращается к базе данных конфигурации фермы и запрашивает сведения о всех SSP, определенных в ферме.

  2. Для каждого поставщика общих служб служба очередей NT запускает процесс обработки очереди, который выполняется от имени соответствующей учетной записи администратора SSP.

  3. Для каждого SSP служба очередей NT получает список связанных с ним сайтов PWA.

  4. Для каждого сайта PWA служба очередей NT получает сведения о соединении с базами данных PWA.

  5. Служба очередей NT запускает пары потоков опроса заданий — по одно паре на каждый экземпляр PWA.

  6. Потоки проверяют наличие новых заданий.

Развертывание очередей в среде с одним поставщиком общих служб и несколькими PWA

Ниже представлена архитектура службы очередей в среде с одним поставщиком общих служб (SSP) и двумя экземплярами веб-клиента Project, подготовленными для SSP.

Система очередей Project Server 2007 — единый поставщик общих служб

  1. Служба очередей NT обращается к базе данных конфигурации фермы и запрашивает сведения о всех SSP, определенных в ферме.

  2. Для каждого поставщика общих служб служба очередей NT запускает процесс обработки очереди, который выполняется от имени соответствующей учетной записи администратора SSP.

  3. Для каждого SSP служба очередей NT получает список связанных с ним сайтов PWA.

  4. Для каждого сайта PWA служба очередей NT получает сведения о соединении с базами данных PWA.

  5. Служба очередей NT запускает пары потоков опроса заданий — по одно паре на каждый экземпляр PWA.

  6. Потоки проверяют наличие новых заданий.

  7. По мере обнаружения новых заданий потоки опроса заданий создают новые потоки обработки заданий.

Развертывание очередей в среде с двумя поставщиками общих служб

Ниже представлена архитектура службы очередей в среде с двумя поставщиками общих служб (SSP) и одним экземпляром веб-клиента Project, подготовленным для каждого SSP.

Очередь сообщений Project Server

  1. Служба очередей NT обращается к базе данных конфигурации фермы и запрашивает сведения о всех SSP, определенных в ферме.

  2. Для каждого поставщика общих служб служба очередей NT запускает процесс обработки очереди, который выполняется от имени соответствующей учетной записи администратора SSP.

  3. Для каждого SSP служба очередей NT получает список связанных с ним сайтов PWA.

  4. Для каждого сайта PWA служба очередей NT получает сведения о соединении с базами данных PWA.

  5. Служба очередей NT запускает пары потоков опроса заданий — по одно паре на каждый экземпляр PWA.

  6. Потоки проверяют наличие новых заданий.

  7. По мере обнаружения новых заданий потоки опроса заданий создают новые потоки обработки заданий.

Группирование очередей

Существует три четких уровня группирования данных в очереди:

  1. **Задания   **Задание — это отслеживаемый пакет работ, выполняемых сервером Project Server (например, сохранение проектов, публикация проектов, отправка расписания и пр.). некоторые задания не инициируются пользователем явно (например, уведомления по электронной почте, синхронизация данных отчетности). Задания — это уровень, на котором отслеживается создание очередей (с использованием идентификаторов заданий).

  2. **Зависимая группа заданий   **Зависимая группа заданий — это категоризация групп заданий, определяемая внутренними правилами Project Server. Задания из зависимой группы всегда обрабатываются вместе и в порядке поступления (с некоторыми исключениями). В приведенном ниже примере Проект 1 изменяется и сохраняется в Project Professional, а затем возвращается в библиотеку. Впоследствии Проект 1 извлекается другим пользователем, который публикует его. Публикация Проекта 1 инициирует создание отчета и соответствующее задание также добавляется в очередь. Сервер Project Server составляет зависимую группу, включающую четыре задания, связанных с Проектом 1. Обработка заданий будет производиться последовательно, поскольку это диктуется внутренними правилами Project Server в отношении взаимосвязанных заданий. Зависимость заключается в том, что база данных публикации отчетности Проекта 1 не может быть обновлена до тех пор, пока Проект 1 не сохранен. Кроме этого, если какие-либо из зависимых заданий не выполняются успешно, блокируется вся группа. Например, если задание по сохранению Проекта 1 (идентификатора задания 2) не выполнено, задание по возврату Проекта 1 в библиотеку (идентификатор 13) должно быть заблокировано. Если задание по возврату Проекта 1 в библиотеку будет выполнено, могут возникнуть трудности. Кто-то другой может позднее извлечь Проект 1 (состояние которого будет противоречивым вследствие невозможности сохранения) и попытаться изменить.

  3. **Подзадания   **Каждое задание может подразделяться на множество меньших сегментов, называемых подзаданиями. Если задание слишком крупное (например, сохранение проекта объемом 10 МБ), оно будет разбито на несколько подзаданий. Подзадания не видны пользователю PSI или веб-клиента Project.

    Различные уровни группирования очереди

Отношения "родитель-потомок" между отправленными заданиями

Важно осознавать, что между отправленными заданиями, требующими дальнейшей обработки, могут существовать отношения "родитель-потомок". Например, если пользователь публикует Проект 1, создается запрос о создании отчета для Проекта 1, а также запрос уведомления по Проекту 1. Следует заметить, что уведомления создаются всегда, но, поскольку отчет создается только в случае успешной публикации Проекта 1, в случае неудачи публикации, отчет создан не будет.

Отношения "родительский-дочерний" между доменами

Аналогичным образом, задание-потомок может завершиться неудачей без последствий для задачи-родителя. Например, если уведомление не создано, это не повлияет на публикацию Проекта 1, поскольку она уже произошла. Важно обратить внимание на то, что, хотя пользователь может и осознавать, что публикация Проекта 1 была обработана в очереди, он может не знать о том, что задание-потомок могло завершиться неудачей. Если необходимо проверить, какие были созданы задания-потомки из поставленного в очередь задания-родителя, это можно сделать на странице "Мои задания в очереди" веб-клиента Project. Администраторы могут для этого использовать пользовательский интерфейс управления очередями, где отображаются все задания в очереди.

NoteПримечание:
Страница "Мои задания в очереди" и страницы управления очередями в веб-клиенте Project описаны в этой статье в разделе "Управление очередями".

Состояния очередей

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

Состояние Описание

Размещение в очереди

Задание размещается в очереди. Выдается идентификатор задания.

Ожидание обработки

Задание находится в очереди и ожидает обработки.

Обработка

Задание обрабатывается.

Успешно

Задание успешно обработано. Это последнее состояние задания, после которого дальнейшие действия невозможны.

Заблокировано

Задание заблокировано по причине неудачного выполнения другого задания в группе зависимых заданий. Будет предпринята повторная попытка обработки или задание будет отменено.

Сбой, но не блокирующая взаимосвязь

Сбой при выполнении задания, но задания в группе не заблокированы. Это последнее состояние задания, после которого дальнейшие действия невозможны.

Сбой и блокирующая взаимосвязь

Сбой при выполнении задания с блокирование одного или нескольких зависимых заданий.

Пропущено для оптимизации

Задание пропущено по причине обнаружения в группе дублирующего задания после него. Например, менеджер проекта может создать следующие задания в указанной последовательности:

  1. Сохранение Проекта 1

  2. Публикация Проекта 1

  3. Изменение задачи в Проекте 1

  4. Публикация Проекта 1

  5. Изменение даты начала в Проекте 1

  6. Публикация Проекта 1

Будут обработаны все три сохранения Проекта 1, но нет необходимости обрабатывать все три попытки публикации. При обработке последнего задания публикации результат будет таким же, как и при обработке все заданий. Для оптимизации первые два задания по оптимизации пропущены.

Отменено

Задание отменено. Задание может быть отменено в любом состоянии кроме двух окончательных состояний ("Успешно" и "Сбой, но не блокирующая взаимосвязь").

Изменения состояния очереди

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

Система очередей Project Server 2007 — изменение состояний

Состояние Следующее возможное состояние

Размещение в очереди

  • Ожидание обработки

  • Отменено

Ожидание обработки

  • Обработка

  • Отменено

  • Заблокировано

  • Пропущено для оптимизации

Обработка

  • Успешно

  • Сбой, но не блокирующая взаимосвязь

  • Сбой и блокирующая взаимосвязь

  • Отменено

Успешно

  • Конец

Заблокировано

  • Обработка

  • Отменено

Сбой, но не блокирующая взаимосвязь

  • Конец

Сбой и блокирующая взаимосвязь

  • Отменено

  • Обработка

Пропущено для оптимизации

  • Заблокировано (из-за сбоя задания)

  • Отменено

  • Успешно

  • Сбой, но не блокирующая взаимосвязь

  • Сбой и блокирующая взаимосвязь

  • Обработка

Отменено

  • Конец

Управление очередями

Большинство важнейших операций Office Project Server 2007 проходят через очереди. В связи с этим большую важность приобретает понимание принципа работы и способов управления очередями для обеспечения надежного функционирования установки Решение Microsoft Office для управления корпоративными проектами (EPM). Следующие утверждения помогу выявить необходимость более эффективного управления очередями:

  • На публикацию проектов затрачивается много времени.

  • Страница управления очередями долго загружается, а общее число заданий составляет 100 000.

  • Менеджер интересуется, как убедиться в том, что покупка нового сервера среднего уровня Office Project Server 2007 (сервер приложений) действительно повысила производительность.

Управление очередями может осуществляться следующими способами:

  • на страницах управления очередями веб-клиента Project,

  • на странице "Мои задания в очереди",

  • с помощью счетчика производительности,

  • с помощью очистки очереди.

Страницы управления очередями веб-клиента Project

Управление очередями можно осуществлять на страницах управления очередями Office Project Web Access. Это аналог центрального экрана просмотра всех заданий для любого общего принтера, где можно увидеть все задания печати в очереди и при необходимости устранять проблемы. Доступ к страницам управления очередями веб-клиента Project осуществляется посредством страницы параметров сервера веб-клиента Project.

На странице управления очередью доступны следующие действия:

  • Просмотр состояния всех заданий в очереди.

  • Отмена или повтор попытки выполнения задания.

    NoteПримечание:
     Подробнее о состояниях см в разделе Состояния очереди.
    NoteПримечание:
     Сведения о пользовательском интерфейсе управления очередями см. в разделе Администрирование очередей этой статьи.

Страница "Мои задания в очереди"

Страница "Мои задания в очереди" предоставляет пользовательский интерфейс для самостоятельного управления заданиями, аналогичный очереди печати на любом компьютере, где отображается состояние всех заданий пользователя, помещенных в очередь. Пользователи веб-клиента Project могут перейти на страницу "Мои задания в очереди" с домашней страницы веб-клиента Project по ссылке в "Быстром запуске".

Если пользователь желает просмотреть сведения обо всех поставленных в очередь заданиях, это можно сделать на странице "Мои задания в очереди" веб-клиента Project. На этой странице отображаются следующие сведения по поставленным в очередь заданиям:

  • Время занесения в очередь

  • Время завершения в очереди

  • Имя задания

  • Тип задания

  • Состояние задания

  • Процент завершения

  • Положение в очереди

  • Тип очереди

  • Ошибка

В дополнение к этому страница "Мои задания в очереди" позволяет пользователю отфильтровывать все задания по следующим критериям:

  • Задания в ходе выполнения и с ошибками

  • Все задания

  • Все задания за прошлую неделю

  • Успешные задания за прошлую неделю

Счетчики производительности

Для оценки текущей производительности системы Office Project Server 2007 администраторам предоставляется множество счетчиков производительности. Эти счетчики могут быть полезны при оценке соответствия текущей конфигурации поставленным целям или в случае необходимости подключения дополнительных ресурсов, таких как дополнительный сервер.

Некоторые из доступных счетчиков относятся непосредственно к заданиям. Среди них следующие:

  • Среднее время ожидания задания в очереди

  • Среднее время обработки заданий публикации

  • Процент неудачно выполненных заданий

  • Среднее время ожидания

Остальные счетчики относятся к очереди в целом:

  • Средняя длина очереди

  • % повторов SQL

  • Число запросов SQL в час

  • Среднее время обработки заданий публикации

Очистка очереди

В процессе использования системы Project Server задания поступаю в очередь и выполняются. система очередей сохраняет сведения о состоянии и прочие метаданные каждого выполненного задания, что позволяет определить состояние в любое время. Со временем количество заданий может увеличиваться и негативно влиять на производительность системы, особенно на опросы состояния заданий. Для этого в системе очередей предусмотрен встроенный механизм очистки, который периодически удаляет задания из очереди. Основной результат такого удаления — это невозможность определения состояния удаленных заданий средствами PSI или страниц управления очередями.

На странице параметров очередей веб-клиента Project представлено несколько параметров управления механизмом очистки:

  • Интервал очистки — периодичность выполнения очистки. Значение по умолчанию — 24 часа.

  • Предел возраста для очистки выполненных зданий — периодичность удаления успешно выполненных заданий. Значение по умолчанию — 24 часа.

  • Предел возраста для очистки невыполненных зданий — периодичность удаления заданий в состоянии завершения с ошибками (например, "Сбой, но не блокирующая взаимосвязь"). Значение по умолчанию — 168 часов.

NoteПримечание:
Дополнительные сведения об этих параметрах можно найти в разделе "Параметры очереди" ниже.

Администрирование очередей

Управление и администрирование очередей выполняется на странице параметров очереди веб-клиента Project. В разделе "Очередь" страницы представлены два средства администрирования.

  1. Управление очередью   На этой странице можно просматривать задания в очереди. С помощью параметров конфигурации можно отфильтровать задания и просмотреть только интересующие. Здесь также можно повторить попытку обработки или отменить задания.

  2. Параметры очереди   Здесь можно настроить параметры конфигурации, управляющие способом извлечения заданий из очередей проектов и расписаний и их обработки. Эти параметры применяются без перезапуска службы очередей NT.

Управление очередью

В этом разделе рассматриваются параметры фильтрования очереди, доступные при нажатии кнопки Управление очередью в разделе "Очередь" страницы параметров сервера веб-клиента Project. Результаты выбранных параметров очереди отображаются также на этой странице.

Тип фильтра

Этот фильтр определяет порядок отображения заданий в разделе сетки заданий. Доступны следующие параметры:

  • По состоянию

  • По заданиям

  • По проектам

  • По идентификатору

Журнал заданий

Этот параметр позволяет выбрать диапазон дат заданий, отображаемых в сетке заданий. Для выбора даты начала и конца диапазона используйте поля От и До.

Поле Максимальное число заданий используется для ограничения числа заданий, отображаемых для выбранного диапазона дат. Если выбранный диапазон дат содержит слишком большое число заданий для отображения в сетке, загрузка страницы управления очередью может занять много времени. Поле Максимальное число заданий позволяет ограничить число отображаемых задач. Значение по умолчанию — 500.

Тип задания

Этот список позволяет выбрать типы заданий (например, "Публикация проекта", "Отправка расписания" или "Возврат плана ресурсов"), которые должны быть отображены в сетке заданий. По умолчанию отображается список всех типов заданий.

Состояния завершения заданий

Этот список позволяет выбирать состояния завершения заданий, которые должны отображаться в сетке заданий. По умолчанию в списке Выбранные состояния завершения заданий отображаются все задания с состоянием, отличным от "Успешно". Это означает, что успешно завершенные задания в списке не отображаются.

Выбор столбцов

Это раздел позволяет выбирать столбцы, отображаемые в разделе представления сетки заданий.

Дополнительные параметры

Этот раздел позволяет указать особые операции, применяемые в отношении операции отмены. Эти параметры позволяют:

  • отменять задания, помещаемые в очередь;

  • отменять последующие задания во взаимосвязи.

Сетка заданий

Это раздел позволяет просматривать задания, отвечающие критериям, перечисленным на странице "Управление очередью". В списке можно выбрать задания или группы заданий и применить к ним следующие параметры (если применимо):

  • Повторить задание

  • Отменить задание

    NoteПримечание:
    Для обновления страницы необходимо вручную обновить список заданий. Это можно сделать с помощью присутствующей на странице кнопки Обновить.

Параметры очереди

В этом разделе рассматриваются параметры конфигурации очереди, доступные при нажатии кнопки Параметры очереди в разделе "Очередь" на странице параметров сервера веб-клиента Project.

При настройке параметров очереди необходимо помнить следующее:

  • Параметры очереди задаются для каждого экземпляра сервера Project Server.

  • Параметры очереди настраиваются отдельно для каждого типа очереди (проекты или расписания).

  • Изменения вступают в силу без перезапуска службы очередей NT.

  • Если экземпляр веб-клиента Project обслуживается несколькими службами очередей NT (например, в среде балансировки нагрузки), параметры будут применены ко всем службам очередей.

    NoteПримечание:
    После выбора параметров конфигурации на этой странице не забудьте нажать кнопку Сохранить для сохранения изменений.

Тип очереди

Этот раздел позволяет указать тип очереди ("Проект" или "Расписание"), к которому необходимо применить параметр настройки.

Максимальное число потоков обработки заданий

Это параметр позволяет указать максимальное число одновременных потоков обработки заданий. Допустимые значения — от 1 до 20; значение по умолчанию — 4.

Интервал опроса

Этот параметр позволяет указать временной интервал (в миллисекундах) для опроса службой очередей NT базы данных проектов или расписаний (в зависимости от выбранного типа заданий) на предмет обнаружения новых заданий. Допустимые значения — от 500 до 300 000; значение по умолчанию — 1000.

Интервал повтора

Этот параметр позволяет задать продолжительность временного промежутка (в миллисекундах) между повторами попыток выполнения задач, незавершенных по причине проблем, связанным с SQL, например вследствие взаимоблокировки SQL. Допустимые значения — от 0 (немедленный повтор) до 300 000; значение по умолчанию — 1000.

Предельное число повторов

Этот параметр позволяет задать предельное число повторов в случае неудачного запроса. Система очередей Project Server регулярно опрашивает базы данных для извлечения заданий, которые необходимо выполнить. Если выполнить запрос не удается по причине проблем, связанных с SQL, система через некоторое время предпринимает повторную попытку опроса базы данных.

Интервал повтора SQL-запроса

Служба очередей опрашивает базу данных с регулярным интервалом с целью обнаружения новых заданий, требующих обработки. Если запрос выполнить не удается, этот раздел позволяет установить период времени (в миллисекундах) до очередного повтора запроса. Допустимые значения — от 0 (немедленный повтор) до 60 000; значение по умолчанию — 1000.

Предельное число повторов SQL-запроса

Служба очередей опрашивает базу данных с регулярным интервалом с целью обнаружения новых заданий, требующих обработки. Если запрос выполнить не удается, этот раздел позволяет установить предельное число повторов запроса. Допустимые значения — от 0 (без повтора) до 100; значение по умолчанию — 5.

Время ожидания SQL

Служба очередей выполняет SQL-запросы для извлечения и выполнения заданий. Этот список позволяет установить время ожидания (в секундах) для таких запросов. Если какое-либо задание не выполняется по причине истечения времени ожидания выполнения запроса, можно увеличить значение и повторить попытку выполнения задания. Допустимые значения — от 19 до 86 400 (сутки); значение по умолчанию — 30.

Интервал очистки

Этот параметр позволяет настроить периодичность (в часах) выполнения задания очистки очереди. Допустимые значения — от 1 до 100 000; значение по умолчанию — 24.

Смещение интервала очистки

Этот параметр используется для указания точного времени суток для выполнения задания очистки очереди. Величина задается путем указания количества минут после 12:00. Допустимый диапазон значений — от 0 (соответствует 12:00) до 1439 (соответствует 23:59); значение по умолчанию — 0.

Предел возраста для очистки выполненных зданий

Этот параметр позволяет установить предел возраста (в часах), при наступлении которого успешно выполненные задания удаляются при выполнении очередного задания по очистке. Возраст каждого задания определяется на основании даты и времени его завершения. Например, если задание успешно выполнено 10.01.07 в 22:40, а задание по очистке очереди выполняется 10.02.07 в 23:55, задание будет выполнено (при условии, что предел возраста для очистки успешно выполненных заданий по умолчанию равен 24 часам).

Допустимые значения — от 1 до 100 000; значение по умолчанию — 24 (сутки).

NoteПримечание:
Обычно число успешно выполненных заданий в сравнении с невыполненными достаточно велико. Поэтому для параметра "Возраст для очистки успешно выполненных заданий" устанавливается значение меньше, чем для параметра "Предел возраста для очистки невыполненных зданий".

Предел возраста для очистки невыполненных зданий

Этот параметр позволяет установить предел возраста (в часах), при наступлении которого выполненные задания в состоянии завершения с ошибками (например, "Сбой, но не блокирующая взаимосвязь") удаляются при выполнении очередного задания по очистке. Возраст каждого задания определяется на основании даты и времени его завершения. Например, если задание было отменено 10.01.07 в 22:40, а задание по очистке очереди выполняется 10.02.07 в 23:55, задание будет выполнено (при условии, что предел возраста для очистки невыполненных заданий по умолчанию равен 24 часам).

Допустимые значения — от 1 до 100 000; значение по умолчанию — 168 (7 суток).

Интервал регистрации

Есть ряд задач по "регистрации", которые выполняются системой очередей. Например, задания в состоянии ожидания, обновление метки времени по тактам, определение необходимости выполнения очистки очереди. Этот параметр задает интервал времени, через который выполняются эти задачи.

Допустимые значения — от 500 до 300 000; значение по умолчанию — 10 000 (10 секунд).

Время ожидания очереди

В ферме, включающей несколько серверов приложений, в случае сбоя службы очередей NT на одном из серверов задания автоматически распределяются между оставшимися серверами приложений, на которых запущена служба очередей NT. Время ожидания службы очередей NT считается истекшим, если не метки времени по тактам не обновлены в течение периода, определенного параметром "Время ожидания очереди" (в минутах). Такты обновляются службой очередей во всех затронутых базах данных веб-приложения Project (например, при каждом опросе баз данных черновиков и опубликованных баз данных).

Допустимые значения — от 2 до 20; значение по умолчанию — 3.

NoteПримечание:
В любое время значение параметра "Время ожидания очереди" не может быть менее четырехкратного интервала регистрации. Если это правило нарушается, значение автоматически изменяется на четырехкратное значение интервала регистрации.

Быстрый опрос

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

Если параметр "Быстрый опрос" отключен, служба очередей выполняет проверку наличия свободных потоков для обработки заданий. Если свободные потоки обнаружены, они загружаются новыми заданиями в состоянии Ожидание обработки. Затем служба ожидает в течение заданного интервала опроса и процесс повторяется.

Если параметр "Быстрый опрос" включен, служба очередей, если имеются приостановленные задания, не выдерживает интервал опроса. По мере обработки заданий все невыполненные задания запускаются в обработку незамедлительно.