Документ взят из кэша поисковой машины. Адрес оригинального документа : http://theory.sinp.msu.ru/dokuwiki/doku.php?id=rfbr:rest:jobschema&rev=1291717672&do=diff
Дата изменения: Unknown
Дата индексирования: Tue Apr 12 12:59:00 2016
Кодировка: UTF-8

Поисковые слова: ч нн
rfbr:rest:jobschema [THEP]

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Next revision
Previous revision
rfbr:rest:jobschema [07/122010 13:27]
demichev created
rfbr:rest:jobschema [08/122010 15:11] (current)
demichev [Атрибуты описания заданий]
Line 1: Line 1:
-JSON схема для ​описания задания =+====== Формат описания ​грид-заданий на языке JSON ======
  
-| [wiki:​PilotJsonJobDescription задание] | [wiki:​PilotJsonTaskDescription ​задача] | [wiki:​PilotJsonRequirements требования] |+===== Атрибуты описания заданий  =====
  
-== Пример описания задания типа ​"ромб" ​==+Описание задания не может иметь атрибутов, отличных от перечисленных ниже:љ
 +  * version, число - версия используемой схемы описания задания. Версия данной схемы 2.љ
 +  * description,​ строка,​ опциональный параметр - описание задания ​в произвольной форме, для понимания человеком.љ
 +  * default_storage_base,​ строка,​ опциональный параметр - относительные пути, встречающиеся во вложенных описаниях используют ​данный URI в качестве базы.љ
 +  * tasks, список объектов,​ не менее 1 элемента - задачи,​ из которых состоит задание. Каждый элемент списка ​является объектом со следующими свойствами:​љ
 +    * id, строка,​ разрешается использовать только символы [a-zA-Z0-9_] - идентификатор задачи. Используется при обращении к задачам задания,​ а так же при указании связей задач.љ
 +    * description,​ строка,​ опциональный параметр - описание задачи в произвольной форме, для понимания человеком.љ
 +    * definition, объект, опциональный параметр - описание задачи (см. [[rfbr:​rest:​taskschema|Формат описания грид-задач на языке JSON]]). Если данный параметр отсутствует,​ это может означать,​ что описание задачи будет загружено на сервер отдельно (например,​ из внешнего файла).љ
 +  * children, список строк, опциональный параметр - список идентификаторов задач (id), дочерних для данной задачи.љ
 +  * filename, строка,​ опциональный параметр - имя файла, содержащего описание задачи. При наличии одновременно атрибутов filename и definition, предпочтение отдается описанию задачи из файла, указанного в данном отрибуте.љ
 +  * meta, объект,​ опциональный - данный атрибут предназначен для хранения любых пользовательских параметров экземпляра задачи,​ и может иметь любое содержимое.љ
 +  * requirements,​ список объектов,​ опциональный параметр ​ - объект требований к ресурсам (согласно схеме описания требований к ресурсам).љ
 +===== JSON Schema для описания заданий =====
  
-Само задание+JSON Schema ​описания ​заданий
-љ+<​code>​љ
-{{{љ+"​description":​ "​Задание",​љ
-#!graphvizљ+  "​type":​ "​object",​љ
-digraph G {љ+  "​properties":​љ
- ​rankdir=LR;​љ+  { "​created":​ { "​type":​ "​string",​ "​format":​ "date-time" },љ
- -> B;љ+    "​modified":​ { "​type":​ "​string",​ "​format":​ "date-time", "​optional":​ true },љ
- -> C;љ+    "​expires":​ { "​type":​ "​string",​ "​format":​ "date-time", ​љ
- -> D;љ+                 "​description":​ "​Дата,​ когда данная задача будет удалена с сервера."​ },љ
- -> D;љ+    "​server_time":​ { "​type":​ "​string",​ "​format":​ "date-time",љ
-+                     "​description":​ "​Текущие дата и время на сервере" ​},љ
-}}}љ+    "​server_policy_uri":​ { "​type":​ "​string",​ "​format":​ "​uri",​љ
-љ+                           "​description":​ "​URI ​ресурса с описанием политики работы сервера"​ },љ
-Пример описания:љ+    "​owner": ​{ "type": ​"​string"​, љ
-љ+               ​"​description":​ "DN пользователя, создавшего задание",љ
-{{{љ+               "​maxLength":​ 256 },љ
-#!jsљ+    "​vo":​ { "​type":​ "​string",​ љ
-{ "version": ​2+            "​description":​ "​Виртуальная организация ​задания",​љ
-  "​description":​ "человеческое описание задания",​љ+            "maxLength": ​64 }
-  "default_storage_base": ​"gsiftp://​tb01.ngrid.ru/​home/​shamardin/​job-58a8a28b/"​+    "state": { "type": "array", љ
-  "tasks": ​{ "id": "a",љ+               "​description":​ "Состояние задания,​ со всей историей ​его изменений",​ љ
-               "​description":​ "человеческое описание задачи",љ+               "​items":​ { "​type":​ "​object",​љ
-               ​"children": [ "b", "c" ]+                          "​description":​ "Запись о состоянии задания.",љ
 +                          "properties":​љ
 +                          { "​s":​ { "​type":​ "​string",​ љ
 +                                   "​description":​ "​состояние",​љ
 +                                   "​enum": [ "new", "pending",​ "​running",​ "​paused",​ "​finished",​ "​aborted"​] ​},љ
 +                            "​ts":​ { "​type":​ "​string",​љ
 +                                    "​format":​ "​date-time",​љ
 +                                    "​description":​ "​время,​ когда наступило данное состояние"​ }љ
 +                          },љ
 +                          "​additionalProperties":​ trueљ
 +                        }
              },              },
-             { "id": "b",љ+    "​operation": ​{ "type": "array",љ
-               ​"children": ["d"],љ+                   ​"description":​ "​операции,​ которые должны быть выполнены с данным заданием",​љ
-               ​"filename": "b.jt+                   "​items":​ { "​type":​ "​object",​љ
-             ​},љ+                              "​description":​ "​Операция с заданием",​љ
-             ​{ "id": "c",љ+                              "​properties":​љ
-               ​"​description":​ "​задача C" ,љ+                              { "​op":​ { "​type":​ "​string",​љ
-               ​"children": ​["d"]+                                        "​description":​ "​операция",​љ
-               ​"definition": ​"version": ​2+                                        "enum": [ "start",​ "​pause",​ "abort" ] }
-                               ​"executable": "/bin/ls",љ+                                "id": ​"type": "​string",​љ
-                               ​"stdout_file": "%(base)s/​c/​out.txt+                                        "​description":​ "id операции",​љ
-                             }љ+                                        "​maxLength":​ 36 },љ
-             ​},љ+                                "​created": ​{ "type": "string",љ
-             ​{ "id": "d",љ+                                             "​format":​ "​date-time",​љ
-               ​"​definition":​ { "version": ​2+                                             "​description":​ "время, когда была ​запрошена данная операция" ​}
-                               ​"executable": "/bin/ls",љ+                                "completed": ​"type": "​string",љ
-                               ​"stdout_file": "out-d.txt",љ+                                               ​"format": "date-time",​љ
-                               ​"requirements": ​+                                               "​description": ​"​время,​ когда была выполнена данная операция"​
-                                   { "hostname": ​["tb01.ngrid.ru"] }љ+                                               ​"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" ​}
              }              }
-           ]+  }
-  "requirements": ​{ "​hostname":​ ["​tb01.ngrid.ru",​ "​tb10.ngrid.ru"​] }+  "additionalProperties": ​false
 } }
-}}}љ+</​code>​
-љ+
-{{{љ+
-#!rstљ+
-Описание заданияљ+
-================љ+
-љ+
-Описание задания не может иметь атрибутов,​ отличных от перечисленныхљ+
-ниже.љ+
-љ+
- * **version**,​ *число*љ+
-љ+
-   ​Версия используемой схемы описания задания. Версия данной схемы 2.љ+
-љ+
- * **description**,​ *строка,​ опциональный параметр*љ+
-љ+
-   ​Описание задания в произвольной форме, для понимания человеком.љ+
-љ+
- * **default_storage_base**,​ *строка,​ опциональный параметр*љ+
-љ+
-   ​Относительные пути, встречающиеся во вложенных описаниях используютљ+
-   ​данный URI в качестве базы.љ+
-љ+
- * **tasks**, *список объектов,​ не менее 1 элемента*љ+
-   љ+
-   ​Задачи,​ из которых состоит задание. Каждый элемент списка являетсяљ+
-   ​объектом со следующими свойствами:​љ+
-љ+
-   - **id**, *строка,​ разрешается использовать только символы [a-zA-Z0-9_]*љ+
-љ+
-     ​Идентификатор задачи. Используется при обращении к задачамљ+
-     ​задания,​ а так же при указании связей задач.љ+
-љ+
-   - **description**,​ *строка,​ опциональный параметр*љ+
-љ+
-     ​Описание задачи в произвольной форме, для понимания человеком.љ+
-љ+
-   - **definition**,​ *объект,​ опциональный параметр*љ+
-љ+
-     ​Описание задачи (согласно схеме описания задачи `PilotJsonTaskDescription`:​trac:​). Если данныйљ+
-     ​параметр отсутствует,​ это может означать,​ что описание задачиљ+
-     ​будет загружено на сервер отдельно (например,​ из внешнего файла).љ+
-љ+
-   - **children**,​ *список строк, опциональный парамтер*љ+
-љ+
-     ​Список идентификаторов задач (**id**), дочерних для даннойљ+
-     ​задачи.љ+
-љ+
-   - **filename**,​ *строка,​ опциональный параметр*љ+
-   љ+
-     ​Имя файла, содержащего описание задачи. При наличии одновременнољ+
-     ​атрибутов **filename** и **definition**,​ предпочтение отдаетсяљ+
-     ​описанию задачи из файла, указанного в данном отрибуте.љ+
-љ+
-     ​Данный атрибут целиком обрабатывается в ``pilot_cli`` в процессељ+
-     ​запуска задания командной ``pilot-job-submit``.љ+
-љ+
-   - **meta**, *объект,​ опциональный*љ+
- љ+
-     ​Данный атрибут предназначен для хранения любых пользовательскихљ+
-     ​параметров экземпляра задачи,​ и может иметь любое содержимое.љ+
-љ+
- * **requirements**,​ *список объектов,​ опциональный параметр**љ+
-љ+
-   ​Объект требований к ресурсам (согласно схеме описания требований кљ+
-   ​ресурсам).љ+
-љ+
- * **meta**, *объект,​ опциональный*љ+
- љ+
-   ​Данный атрибут предназначен для хранения любых пользовательскихљ+
-   ​параметров задания,​ и может иметь любое содержимое.љ+
-}}}љ+
rfbr/rest/jobschema.1291717672.txt.gz ћ Last modified: 07/122010 13:27 by demichev
CC Attribution-Share Alike 3.0 Unported
Driven by DokuWiki Recent changes RSS feed Valid CSS Valid XHTML 1.0