User Tools

Site Tools


dcomp:fcp:rest:jobschema

Формат описания грид-заданий на языке JSON

Атрибуты описания заданий

Описание задания не может иметь атрибутов, отличных от перечисленных ниже:

  • version, число - версия используемой схемы описания задания. Версия данной схемы 2.
  • description, строка, опциональный параметр - описание задания в произвольной форме, для понимания человеком.
  • default_storage_base, строка, опциональный параметр - относительные пути, встречающиеся во вложенных описаниях используют данный URI в качестве базы.
  • tasks, список объектов, не менее 1 элемента - задачи, из которых состоит задание. Каждый элемент списка является объектом со следующими свойствами:
    • id, строка, разрешается использовать только символы [a-zA-Z0-9_] - идентификатор задачи. Используется при обращении к задачам задания, а так же при указании связей задач.
    • description, строка, опциональный параметр - описание задачи в произвольной форме, для понимания человеком.
    • definition, объект, опциональный параметр - описание задачи (см. Формат описания грид-задач на языке JSON). Если данный параметр отсутствует, это может означать, что описание задачи будет загружено на сервер отдельно (например, из внешнего файла).
  • children, список строк, опциональный параметр - список идентификаторов задач (id), дочерних для данной задачи.
  • filename, строка, опциональный параметр - имя файла, содержащего описание задачи. При наличии одновременно атрибутов filename и definition, предпочтение отдается описанию задачи из файла, указанного в данном отрибуте.
  • meta, объект, опциональный - данный атрибут предназначен для хранения любых пользовательских параметров экземпляра задачи, и может иметь любое содержимое.
  • requirements, список объектов, опциональный параметр - объект требований к ресурсам (согласно схеме описания требований к ресурсам).

JSON Schema для описания заданий

JSON Schema описания заданий:

{ "description": "Задание",
  "type": "object",
  "properties":
  { "created": { "type": "string", "format": "date-time" },
    "modified": { "type": "string", "format": "date-time", "optional": true },
    "expires": { "type": "string", "format": "date-time", 
                 "description": "Дата, когда данная задача будет удалена с сервера." },
    "server_time": { "type": "string", "format": "date-time",
                     "description": "Текущие дата и время на сервере" },
    "server_policy_uri": { "type": "string", "format": "uri",
                           "description": "URI ресурса с описанием политики работы сервера" },
    "owner": { "type": "string", 
               "description": "DN пользователя, создавшего задание",
               "maxLength": 256 },
    "vo": { "type": "string", 
            "description": "Виртуальная организация задания",
            "maxLength": 64 },
    "state": { "type": "array", 
               "description": "Состояние задания, со всей историей его изменений", 
               "items": { "type": "object",
                          "description": "Запись о состоянии задания.",
                          "properties":
                          { "s": { "type": "string", 
                                   "description": "состояние",
                                   "enum": [ "new", "pending", "running", "paused", "finished", "aborted"] },
                            "ts": { "type": "string",
                                    "format": "date-time",
                                    "description": "время, когда наступило данное состояние" }
                          },
                          "additionalProperties": true
                        }
             },
    "operation": { "type": "array",
                   "description": "операции, которые должны быть выполнены с данным заданием",
                   "items": { "type": "object",
                              "description": "Операция с заданием",
                              "properties":
                              { "op": { "type": "string",
                                        "description": "операция",
                                        "enum": [ "start", "pause", "abort" ] },
                                "id": { "type": "string",
                                        "description": "id операции",
                                        "maxLength": 36 },
                                "created": { "type": "string",
                                             "format": "date-time",
                                             "description": "время, когда была запрошена данная операция" },
                                "completed": { "type": "string",
                                               "format": "date-time",
                                               "description": "время, когда была выполнена данная операция",
                                               "optional": true,
                                               "requires": "success" },
                                "success": { "type": "boolean",
                                             "description": "было ли выполнение операции успешным",
                                             "optional": true,
                                             "requires": "completed" },
                                "result": { "type": "object",
                                            "description": "результат завершения операции",
                                            "optional": true,
                                            "requires": "completed" }
                                
                              },
                              "additionalProperties": true
                            }
                 },
    "definition": { "type": "string",
                    "description": "описание задания на языке описания заданий",
                    "format": "application/octet-stream"
                  },
    "tasks": { "type": "array",
               "description": "список URI задач задания",
               "items": { "type": "string",
                          "format": "uri" }
             }
  },
  "additionalProperties": false
}
dcomp/fcp/rest/jobschema.txt · Last modified: 26/01/2017 15:43 by 66.249.69.1