4.3.7. TaskStart¶
Описание¶
Метод позволяет создавать и запускать задачи проверки, а также возвращает идентификатор задачи task_id, позволяющий управлять задачей, отслеживать ее статус и запрашивать отчет.
Запрос¶
{
"user_id":(number),
"methods":[
{
"method":"TaskStart",
"params":{
"project_id":(number),
"tasks":[
{
"template_id":(number),
"uri":(string),
"name":(string),
"priority":(string)
}
]
}
}
]
}
где:
user_id— целое число, идентификатор пользователя;project_id— целое число, идентификатор проекта пользователя;template_id— целое число, идентификатор шаблона;uri— строка, путь к анализируемому файлу;name(опциональное поле) — строка, имя файла;priority(опциональное поле) — строка, приоритет задачи:low,normal,high,urgent,immediate. Приоритет по умолчанию —normal. Балансировщик нагрузки распределяет задачи анализа между доступными зондами в порядке приоритетов отImmediateкLow.
Ответ¶
{
"reply":[
{
"method":"TaskStart",
"result":[
{
"task_id":(number),
"initial_task_id":(number),
"template_id":(number),
"uri":(string),
"name":(string),
"priority":(string),
"errors":[(string)
]
}
]
}
]
}
где:
task_id— целое число, идентификатор пользователя;initial_task_id— целое число, идентификатор группы задач в рамках цепочки перезапусков. Для любой задачи в группе — включая первую —initial_task_idравенtask_idса́мой первой задачи. Если перезапусков не было,initial_task_idсовпадает сtask_idсамо́й задачи. Более подробно работа цепочки перезапусков и применение параметраinitial_task_idприведены в описании метода TaskStatus;template_id— целое число, идентификатор шаблона;uri— строка, путь к анализируемому файлу;name— строка, имя файла;priority— строка, приоритет задачи;errors— массив строк, возвращает перечень ошибок, возникших во время запуска.
Пример¶
cURL¶#1. Простой запрос на создание и запуск одной задачи.
curl http://172.16.1.41/ctrl_api/v1/json \
-H "Content-Type: application/json" \
--data '{"user_id":1,"methods":[{"method":"TaskStart","params":{"project_id":2,"tasks":[{"template_id":63,"uri":"file:///mnt/VoD_storage/sample1.mp4"}]}}]}'
#2. Пример, в котором дополнительно передаются поля name и priority.
curl http://172.16.1.41/ctrl_api/v1/json \
-H "Content-Type: application/json" \
--data '{"user_id":1,"methods":[{"method":"TaskStart","params":{"project_id":2,"tasks":[{"template_id":63,"uri":"file:///mnt/VoD_storage/sample1.mp4","name":"Test","priority":"normal"}]}}]}'
#3. Запрос на создание и запуск нескольких задач. Для третьей задачи задано заведомо несуществующее значения в поле template_id.
curl http://172.16.1.41/ctrl_api/v1/json \
-H "Content-Type: application/json" \
--data '{"user_id":1,"methods":[{"method":"TaskStart","params":{"project_id":2,"tasks":[{"template_id":63,"uri":"file:///mnt/VoD_storage/sample1.mp4","name":"Test1","priority":"low"},{"template_id":63,"uri":"file:///mnt/VoD_storage/sample2.mp4","name":"Test2","priority":"normal"},{"template_id":46,"uri":"file:///mnt/VoD_storage/sample3.mp4","name":"Test3","priority":"high"}]}}]}'
{
"reply": [
{
"method": "TaskStart",
"result": [
{
"task_id": 2213,
"initial_task_id": 2213,
"uri": "file:///mnt/VoD_storage/sample1.mp4",
"name": "",
"template_id": 63,
"priority": "normal"
}
]
}
]
}
{
"reply": [
{
"method": "TaskStart",
"result": [
{
"task_id": 2218,
"initial_task_id": 2218,
"uri": "file:///mnt/VoD_storage/sample1.mp4",
"name": "Test",
"template_id": 63,
"priority": "normal"
}
]
}
]
}
{
"reply": [
{
"method": "TaskStart",
"result": [
{
"uri": "file:///mnt/VoD_storage/sample3.mp4",
"name": "Test3",
"template_id": 46,
"priority": "high",
"errors": [
"'template_id' with id '46' doesn't exist"
]
},
{
"task_id": 2221,
"initial_task_id": 2221,
"uri": "file:///mnt/VoD_storage/sample1.mp4",
"name": "Test1",
"template_id": 63,
"priority": "low"
},
{
"task_id": 2222,
"initial_task_id": 2222,
"uri": "file:///mnt/VoD_storage/sample2.mp4",
"name": "Test2",
"template_id": 63,
"priority": "normal"
}
]
}
]
}