Значения некоторых параметров описания задачи содержат относительные пути к файлам. Данные пути разрешаются относительно директории, в которой производится запуск задачи на вычислительном узле (эта директория создается автоматически).
Описание задачи не может иметь атрибутов, отличных от перечисленных ниже.
Пример описания задачи, использующего этот параметр:
{ "version": 2,
"executable": "/usr/bin/env",
"environment":
{ "FOO": "bar",
"qux": "XyZzy" }
}
При запуске такой задачи будут установлены переменные FOO (значение bar) и QUX (значение XyZzy).
Пример описания задания с несколькими задачами и входными/выходными файлами:
{ "version": 2,
"default_storage_base": "gsiftp://example.org/my/files/",
"tasks": [
{ "id": "a",
"definition":
{ "version": 2,
"executable": "/bin/cp",
"arguments": ["hello.txt", "qux/test.txt"],
"input_files":
{ "hello.txt": "hello.txt",
"foo.txt": "/bar.txt",
"qux": "gsiftp://example.org/my/directory/qux/"
},
"ouput_files":
{ "qux/test.txt": "gsiftp://example.org/my/output/117/test.txt"
}
}
},
{ "id": "b",
"definition":
{ "version": 2,
"executable": "/bin/cat",
"arguments": ["hello.txt", "foo.txt"],
"default_storage_base": "gsiftp://example.org/other/files/",
"input_files":
{ "hello.txt": "hello.txt",
"foo.txt": "/bar.txt"
}
}
}
]
}
Например, приведенные ниже фрагменты задают задачи с одинаковыми требованиями к ресурсам:
{ "version": 2,
"tasks": [
{ "id": "a",
"executable": "/bin/hostname",
"requirements": {
"queue": "long"
}
}
],
"requirements": {
"lrms": "Cleo"
}
}
{ "version": 2,
"tasks": [
{ "id": "a",
"executable": "/bin/hostname",
"requirements": {
"lrms": "Cleo",
"queue": "long"
}
}
]
}
Результирующее требование задачи к ресурсам получается путем обновления требований к ресурсам всего задания требованиями к ресурсам выбранной задачи.
Все параметры в описании требований к ресурсам являются опциональными. Если это не оговорено специально, то значения по умолчанию для каждого из параметров обеспечивают выбор любого ресурса, удовлетворяющего остальным требованиям.
{ "description": "Отдельная задача",
"type": "object",
"properties":
{ "created": { "type": "string", "format": "date-time" },
"modified": { "type": "string", "format": "date-time", "optional": true },
"job": { "type": "string", "format": "uri",
"description": "URI задания, к которому относится данная задача" },
"definition": { "type": "string",
"description": "описание задачи на языке описания задач",
"format": "application/octet-stream"
},
"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
}
}
},
"additionalProperties": false
}