Спецификация системы Pilot
Система управления выполнением заданий и система регистрации задач
| Автор: | Шамардин Л.В. |
|---|---|
| Версия: | $Rev: 23 $ от $Date: 2009-06-18 15:15:18 +0400 (Thu, 18 Jun 2009) $ |
Содержание:
Введение
В настоящем документе описывается спецификация на API Системы Управления Выполнением Заданий ГридННС, имеющей рабочее название "Pilot". Основное назначение системы — выполнение заданий,
Система Pilot состоит из двух компонентов, системы управления выполнением заданий и системы регистрации и контроля выполнения задач.
Общие положения
Задание
Задание — это направленный ацикличный граф, узлами в котором являются задачи, а ребра задают порядок их выполнения. Задачи, из которых состоит задание, выполняются в порядке обхода графа. При этом в местах ветвления, если это возможно, разные ветки графа выполняются одновременно. Задачи для выполнения передаются в систему регистрации задач.
В настоящее время ребра графа задают только порядок выполнения задач. Однако в будущем, возможно, ребра будут определять так же передачу выходных данных одних задач на вход другим.
Задача
Задача является базовым элементом, который может быть выполнен системой регистрации задач Pilot. Запуском задач на выполнение, а так же слежением за их выполнением занимается система регистрации и контроля выполнения задач Pilot.
В настоящее время поддерживается только один тип задач: запуск процесса через Globus WS-GRAM. Однако, в будущем, возможно, будут добавлены и другие типы задач, например, обращения к произвольным WSRF или SOAP сервисам.
API
Система Pilot реализована как набор веб-сервисов, следующих спецификациям WSRF, WSN.
Спецификации приведенные ниже носят предварительный характер и предназначены только для ознакомления. Строгие варианты спецификаций, описанные на языках XML Schema и WSDL находятся в состоянии разработки.
Сервис PilotWF
Сервис PilotWF является интерфейсом к системе управления выполнением заданий. Каждое задание, выполняемое сервисом, представляется как отдельный WS-Resource ресурс сервиса. Время жизни ресурса по умолчанию равно времени выполнения задания плюс 24 часа.
Свойства ресурса
Свойства ресурса PilotWF (свойства — в смысле WS-ResourceProperties) описывают само задание, все его задачи, а так же состояние задания и всех его задач. Свойства включают в себя следующие элементы:
- WFDescription
- Спецификация задания, написанная на языке GridWay dagman.
- Job
Данный элемент может присутствовать несколько раз. Название задачи и ее спецификация, написанная на языке GridWay job template. Может также включать элемент Status, доступный только для чтения, этот элемент сообщает о статусе выполнения отдельной задачи (ожидает родителей, передана в сервис регистрации задач и ожидает выполнения, выполняется, завершена, отмена из-за ошибок).
У выполненной задачи может присутствовать элемент Output, содержащий элементы с URL результатов выполнения задачи.
Возможно, каждая задача будет иметь свой EPR на PilotWF, что позволит взаимодействовать с ней напрямую.
- Status
- Доступен только для чтения, содержит общее состояние выполнения задания (ожидает выполнения, выполняется, завершено, отмена из-за ошибок). Может так же содержать информацию о количестве завершенных задач, количестве выполняющихся в настоящее время задач, и т.п.
Порт WFCreation
Запуск задания производится путем создания нового ресурса в сервисе PilotWF. Для создания новых ресурсов в сервисе PilotWF используется порт WFCreation.
- createWF
- Создает новый ресурс PilotWF. Возвращает EndpointReference (EPR) нового задания.
Порт WFExecution
Основное взаимодействие с сервисом PilotWF происходит через порт WFExecution при помощи EPR, полученного через WFCreation/createWF
Методы WF-ResourceProperties
Поддерживаются стандартные методы WF-ResourceProperties:
- GetResourcePropertyDocument
- GetResourceProperty
- GetMultipleResourceProperties
- InsertResourceProperties
- UpdateResourceProperties
- DeleteResourceProperties
Назначение этих методов соотвествует определениям из спецификации WSRF.
Методы WF-ResourceLifetime
Поддерживается стандартный метод WS-ResourceLiftime:
- SetTerminationTime
Данный метод может быть использован для изменения времени жизни задания. Установка времени жизни ресурса короче, чем фактическое время, затраченное на выполнение задания, приведет к тому, что ресурс будет уничтожен сразу же после выполнения задания, и результаты выполнения задания будут недоступны.
Поддержка WS-Notification
PilotWF поддерживает уведомления об изменении состояния заданий и задач при помощи WS-BaseNotification Pull-Style Notification. При этом не требуется создания нового Pull Point, в качестве Pull Point используется EPR задания. Поддерживается стандартный метод GetMessages.
Собственные методы
- start
- Запустить задание на выполнение.
- abort
- Отменить выполнение задания.
- pause
- Приостановить выполнение задания. Все выполняющиеся задачи продолжат свое выполнение, новые задачи выполняться не будут
- continue
- Продолжить выполнение задания после временной остановки.
Сервис PilotJC
Сервис PilotJC является интерфейсом к системе регистрации и контроля выполнения задач. В настоящее время публичный API не предоставляется.
