Конфигурация REST интерфейса EVPT#

EVPT поддерживает работу с помощью REST взаимодействия. В конфигурационном файле batch.conf в блоке batch указываются параметры, с которыми запускается сервер, посредством обращения к которому планируется выполнение задач.

Предусловия#

Не требуются.

Последовательность выполнения#

Внешний API сервиса#

Код

Имя

Описание

Параметры

Тип вызова

Результаты

Потребители

1

Добавление задачи с указанием даты

Добавление задачи, которая будет выполнена в определенный момент времени (https://host:port/schedule/date)

см. раздел «Принципы работы REST-взаимодействий EVPT»

Синхронный

см. раздел «Возвращаемые статусы»

Поставщики событий

2

Добавление задачи с интервалом и количеством выполнений

Добавление задачи, которая будет выполнена заданное количество раз с определенным интервалом (https://host:port/schedule/interval)

см. раздел «Принципы работы REST-взаимодействий EVPT»

Синхронный

см. раздел «Возвращаемые статусы»

Поставщики событий

3

Добавление задачи с cron выражением

Добавление задачи, которая будет выполнена в соответствии с cron (https://host:port/schedule/cron)

см. раздел «Принципы работы REST-взаимодействий EVPT»

Синхронный

см. раздел «Возвращаемые статусы»

Поставщики событий

4

Обновление задачи с указанием даты

Обновление задачи, которая будет выполнена в определенный момент времени (https://host:port/update/date)

см. раздел «Принципы работы REST-взаимодействий EVPT»

Синхронный

см. раздел «Возвращаемые статусы»

Поставщики событий

5

Обновление задачи с интервалом и количеством выполнений

Обновление задачи, которая будет выполнена заданное количество раз с определенным интервалом (https://host:port/update/interval)

см. раздел «Принципы работы REST-взаимодействий EVPT»

Синхронный

см. раздел «Возвращаемые статусы»

Поставщики событий

6

Обновление задачи с указанием cron выражения

Обновление задачи, которая будет выполнена в соответствии с cron (https://host:port/update/cron)

см. раздел «Принципы работы REST-взаимодействий EVPT»

Синхронный

см. раздел «Возвращаемые статусы»

Поставщики событий

7

Удаление задачи

Отмена выполнения задачи (https://host:port/cancel)

см. раздел «Принципы работы REST-взаимодействий EVPT»

Синхронный

см. раздел «Возвращаемые статусы»

Администраторы

8

Удаление всех задач

Отмена выполнения всех задач (https://host:port/clean)

см. раздел «Принципы работы REST-взаимодействий EVPT»

Синхронный

см. раздел «Возвращаемые статусы»

Администраторы

9

Приостановка задачи

Приостановка выполнения задачи (https://host:port/pause)

см. раздел «Принципы работы REST-взаимодействий EVPT»

Синхронный

см. раздел «Возвращаемые статусы»

Администраторы

10

Возобновление задачи

Возобновление выполнения задачи (https://host:port/resume)

см. раздел «Принципы работы REST-взаимодействий EVPT»

Синхронный

см. раздел «Возвращаемые статусы»

Администраторы

11

Информация о следующем времени выполнения запланированной задачи

Получение информации о следующем времени выполнения запланированной задачи и ее статусе (стоит задача на паузе или нет), при этом используется метод GET (https://host:port/task/{taskId})

см. раздел «Принципы работы REST-взаимодействий EVPT»

Синхронный

см. раздел «Возвращаемые статусы»

Администраторы

12

Информация о всех запланированных задачах

Получение информации о всех запланированных задачах, при этом используется метод GET (https://host:port/tasks)

см. раздел «Принципы работы REST-взаимодействий EVPT»

Синхронный

см. раздел «Возвращаемые статусы»

Администраторы

13

Количество запланированных задач

Получение информации о количестве запланированных задач, при этом используется метод GET (https://host:port/count)

см. раздел «Принципы работы REST-взаимодействий EVPT»

Синхронный

см. раздел «Возвращаемые статусы»

Администраторы

Для проверки работоспособности предусмотрено следующее API (которое запускается на отдельном порту)

Код

Имя

Описание

Параметры

Тип вызова

Результаты

Потребители

1

Проверка работоспособности

АС отправляет REST-запрос типа GET (http://host:port/health), получает ответ о работоспособности EVPT

см. раздел «Принципы работы REST-взаимодействий EVPT»

Синхронный

см. раздел «Возвращаемые статусы»

Администраторы

2

Проверка готовности

АС отправляет REST-запрос типа GET (http://host:port/ready),получает ответ о работоспособности EVPT

см. раздел «Принципы работы REST-взаимодействий EVPT»

Синхронный

см. раздел «Возвращаемые статусы»

Администраторы

Принципы работы REST-взаимодействий EVPT#

Добавление задачи с указанием даты#

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

Вид URL — https://host:port/schedule/date,

где:

  • host — host, где развернут EVPT;

  • port — порт, на котором развернут EVPT;

  • schedule — наименование метода, константа;

  • date — наименование метода, константа.

Тело запроса ожидается в JSON-формате и содержит в себе:

  • url — целевой узел вызова (обязательный параметр);

  • scheduleTime — время в миллисекундах (unix формат), когда будет выполнен запрос (обязательный параметр);

  • properties — дополнительные свойства выполняемой задачи (опциональный параметр);

    • body — тело сообщения, которое будет отправлено (опциональный параметр);

    • id — если задан, то задача будет создана с данным идентификатором (опциональный параметр);

    • method — метод запроса (get, post, delete, put), который будет использован (опциональный параметр);

    • header.<header name> — заголовок, который будет отправлен (без префикса «header.») (опциональный параметр);

    • retry — количество выполнений запроса при неуспешном выполнении задачи (код ответа 400 и выше) (опциональный параметр);

Пример тела сообщения:

{
  "url": "http://localhost:1234/test",
  "scheduleTime": 1662462548000,
  "properties": {
    "method": "post",
    "body": "тело сообщения, опциональный параметр",
    "header.test1": "заголовок сообщения, опциональный параметр",
    "header.test2": "заголовок сообщения, опциональный параметр"
  }
}

Примеры запросов:

#Добавление задачи по времени
curl -X POST -v http://localhost:8080/schedule/date -H 'Content-Type: application/json' -d "{\"url\":\"http://localhost:1234/test1\",\"scheduleTime\":1662462248000}"
#Добавление задачи с заданными телом, методом и заголовком
curl -X POST -v http://localhost:8080/schedule/date -H 'Content-Type: application/json' -d "{\"url\":\"http://localhost:1234/test\",\"properties\":{\"method\":\"post\",\"body\":\"testBody\",\"header.test\":\"test\"},\"scheduleTime\":1662462548000}"
#Добавление задачи с ssl
curl -X POST -v http://localhost:8080/schedule/date -H 'Content-Type: application/json' -d "{\"url\":\"https://localhost:1234/test1\",\"scheduleTime\":1662462248000}"

В случае успешного выполнения запроса придет ответ с кодом 201 — Created, в теле которого будет указан id запланированной задачи.

Если при выполнении запроса произойдет какая-либо ошибка, то вернется ответ с текстом ошибки, с кодом 500 — Internal Server Error.

Подробнее про статусы см. в разделе «Возвращаемые статусы».

Добавление задачи с интервалом и количеством выполнений#

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

Вид URL — https://host:port/schedule/interval,

где:

  • host — host, где развернут EVPT;

  • port — порт, на котором развернут EVPT;

  • schedule — наименование метода, константа;

  • interval — наименование метода, константа.

Тело запроса ожидается в JSON-формате и содержит в себе:

  • url — целевой узел вызова (обязательный параметр);

  • count — количество повторений, которое будет выполнен запрос (обязательный параметр);

  • interval — интервал между выполнениями запроса (обязательный параметр);

  • properties — дополнительные свойства выполняемой задачи (опциональный параметр);

    • body — тело сообщения, которое будет отправлено (опциональный параметр);

    • id — если задан, то задача будет создана с данным идентификатором (опциональный параметр);

    • method — метод запроса (get, post, delete, put), который будет использован (опциональный параметр);

    • header.<header name> — заголовок, который будет отправлен (без префикса «header.») (опциональный параметр);

    • retry — количество выполнений запроса при неуспешном выполнении задачи (код ответа 400 и выше) (опциональный параметр);

Пример тела сообщения:

{
  "url": "http://localhost:1234/test",
  "count": 5,
  "interval": 100000,
  "properties": {
    "method": "post",
    "body": "тело сообщения, опциональный параметр",
    "header.test1": "заголовок сообщения, опциональный параметр",
    "header.test2": "заголовок сообщения, опциональный параметр"
  }
}

Примеры запросов:

#Добавление задачи с интервалом
curl -X POST -v http://localhost:8080/schedule/interval -H 'Content-Type: application/json' -d "{\"url\":\"http://localhost:1234/test1\",\"count\":5,\"interval\":100000}"
#Добавление задачи с заданными телом, методом и заголовком
curl -X POST -v http://localhost:8080/schedule/interval -H 'Content-Type: application/json' -d "{\"url\":\"http://localhost:1234/test\",\"properties\":{\"method\":\"post\",\"body\":\"testBody\",\"header.test\":\"test\"},\"count\":5,\"interval\":100000}"
#Добавление задачи с ssl
curl -X POST -v http://localhost:8080/schedule/interval -H 'Content-Type: application/json' -d "{\"url\":\"https://localhost:1234/test1\",\"count\":5,\"interval\":100000}"

В случае успешного выполнения запроса придет ответ с кодом 201 — Created, в теле которого будет указан id запланированной задачи.

Если при выполнении запроса произойдет какая-либо ошибка, то вернется ответ с текстом ошибки, с кодом 500 — Internal Server Error.

Подробнее про статусы см. в разделе «Возвращаемые статусы».

Добавление задачи с cron выражением#

Используется для добавления задачи, которая должна быть выполнена в соответствии с cron выражением

Вид URL — https://host:port/schedule/cron,

где:

  • host — host, где развернут EVPT;

  • port — порт, на котором развернут EVPT;

  • schedule — наименование метода, константа;

  • cron — наименование метода, константа.

Тело запроса ожидается в JSON-формате и содержит в себе:

  • url — целевой узел вызова (обязательный параметр);

  • cronкрон-выражение ( обязательный параметр);

  • properties — дополнительные свойства выполняемой задачи (опциональный параметр);

    • body — тело сообщения, которое будет отправлено (опциональный параметр);

    • id — если задан, то задача будет создана с данным идентификатором (опциональный параметр);

    • method — метод запроса (get, post, delete, put), который будет использован (опциональный параметр);

    • header.<header name> — заголовок, который будет отправлен (без префикса «header.») (опциональный параметр);

    • retry — количество выполнений запроса при неуспешном выполнении задачи (код ответа 400 и выше) (опциональный параметр);

Пример тела сообщения:

{
  "url": "http://localhost:1234/test",
  "cron": "0 * 14 * * ?",
  "properties": {
    "method": "post",
    "body": "тело сообщения, опциональный параметр",
    "header.test1": "заголовок сообщения, опциональный параметр",
    "header.test2": "заголовок сообщения, опциональный параметр"
  }
}

Примеры запросов:

#Добавление крон задачи
curl -X POST -v http://localhost: 8080/schedule/cron -H 'Content-Type: application/json' -d "{\"url\":\"http://localhost:1234/test1\",\"cron\":\"0 * 14 * * ?\"}"
#Добавление задачи с заданными телом, методом и заголовком
curl -X POST -v http://localhost:8080/schedule/cron -H 'Content-Type: application/json' -d "{\"url\":\"http://localhost:1234/test\",\"properties\":{\"method\":\"post\",\"body\":\"testBody\",\"header.test\":\"test\"},\"cron\":\"0 * 14 * * ?\"}"
#Добавление задачи с ssl
curl -X POST -v http://localhost:8080/schedule/interval -H 'Content-Type: application/json' -d "{\"url\":\"https://localhost:1234/test1\",\"cron\":\"0 * 14 * * ?\"}"

В случае успешного выполнения запроса придет ответ с кодом 201 — Created, в теле которого будет указан id запланированной задачи.

Если при выполнении запроса произойдет какая-либо ошибка, то вернется ответ с текстом ошибки, с кодом 500 — Internal Server Error.

Подробнее про статусы см. в разделе «Возвращаемые статусы».

Обновление задачи с указанием даты#

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

Вид URL — https://host:port/update/date,

где:

  • host — host, где развернут EVPT;

  • port — порт, на котором развернут EVPT;

  • update — наименование метода, константа;

  • date — наименование метода, константа.

Тело запроса ожидается в JSON-формате и содержит в себе:

  • id — идентификатор обновляемой задачи (обязательный параметр);

  • scheduleTime — время в миллисекундах (unix формат), когда будет выполнен запрос (обязательный параметр);

  • properties — дополнительные свойства выполняемой задачи (опциональный параметр);

    • body — тело сообщения, которое будет отправлено (опциональный параметр);

    • id — если задан, то задача будет создана с данным идентификатором (опциональный параметр);

    • method — метод запроса (get, post, delete, put), который будет использован (опциональный параметр);

    • header.<header name> — заголовок, который будет отправлен (без префикса «header.») (опциональный параметр);

    • retry — количество выполнений запроса при неуспешном выполнении задачи (код ответа 400 и выше) (опциональный параметр);

Пример тела сообщения:

{
  "id": "862d9889-0d4a-48d7-ab0e-374baa750159",
  "scheduleTime": 1662462548000,
  "properties": {
    "method": "post",
    "body": "тело сообщения, опциональный параметр",
    "header.test1": "заголовок сообщения, опциональный параметр",
    "header.test2": "заголовок сообщения, опциональный параметр"
  }
}

Примеры запросов:

#Обновление задачи по времени
curl -X POST -v http://localhost:8080/update/date -H 'Content-Type: application/json' -d "{\"id\":\"862d9889-0d4a-48d7-ab0e-374baa750159\",\"scheduleTime\":1662462248000}"
#Обновление задачи по времени с новым телом выполняемой задачи
curl -X POST -v http://localhost:8080/update/date -H 'Content-Type: application/json' -d "{\"id\":\"862d9889-0d4a-48d7-ab0e-374baa750159\",\"properties\":{\"body\":\"newTestBody\"},\"scheduleTime\":1662462548000}"

В случае успешного выполнения запроса придет ответ с кодом 201 — Created.

Если при выполнении запроса произойдет какая-либо ошибка, то вернется ответ с текстом ошибки, с кодом 500 — Internal Server Error.

Подробнее про статусы см. в разделе «Возвращаемые статусы».

Обновление задачи с интервалом и количеством выполнений#

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

Вид URL — https://host:port/update/interval,

где:

  • host — host, где развернут EVPT;

  • port — порт, на котором развернут EVPT;

  • update — наименование метода, константа;

  • interval — наименование метода, константа.

Тело запроса ожидается в JSON-формате и содержит в себе:

  • id — идентификатор обновляемой задачи (обязательный параметр);

  • count — количество повторений, которое будет выполнен запрос (обязательный параметр);

  • interval — интервал между выполнениями запроса (обязательный параметр);

  • properties — дополнительные свойства выполняемой задачи (опциональный параметр);

    • body — тело сообщения, которое будет отправлено (опциональный параметр);

    • id — если задан, то задача будет создана с данным идентификатором (опциональный параметр);

    • method — метод запроса (get, post, delete, put), который будет использован (опциональный параметр);

    • header.<header name> — заголовок, который будет отправлен (без префикса «header.») (опциональный параметр);

    • retry — количество выполнений запроса при неуспешном выполнении задачи (код ответа 400 и выше) (опциональный параметр);

Пример тела сообщения:

{
  "id": "862d9889-0d4a-48d7-ab0e-374baa750159",
  "count": 5,
  "interval": 100000,
  "properties": {
    "method": "post",
    "body": "тело сообщения, опциональный параметр",
    "header.test1": "заголовок сообщения, опциональный параметр",
    "header.test2": "заголовок сообщения, опциональный параметр"
  }
}

Примеры запросов:

#Обновление задачи с интервалом**
curl -X POST -v http://localhost:8080/update/interval -H 'Content-Type: application/json' -d "{\"id\":\"862d9889-0d4a-48d7-ab0e-374baa750159\",\"count\":5,\"interval\":100000}"

В случае успешного выполнения запроса придет ответ с кодом 201 — Created.

Если при выполнении запроса произойдет какая-либо ошибка, то вернется ответ с текстом ошибки, с кодом 500 — Internal Server Error.

Подробнее про статусы см. в разделе «Возвращаемые статусы».

Обновление задачи с указанием cron выражения#

Используется для обновления задачи, которая должна быть выполнена в соответствии с cron выражением

Вид URL — https://host:port/update/cron,

где:

  • host — host, где развернут EVPT;

  • port — порт, на котором развернут EVPT;

  • update — наименование метода, константа;

  • cron — наименование метода, константа.

Тело запроса ожидается в JSON-формате и содержит в себе:

  • id — идентификатор обновляемой задачи (обязательный параметр);

  • cronкрон-выражение ( обязательный параметр);

  • properties — дополнительные свойства выполняемой задачи (опциональный параметр);

    • body — тело сообщения, которое будет отправлено (опциональный параметр);

    • id — если задан, то задача будет создана с данным идентификатором (опциональный параметр);

    • method — метод запроса (get, post, delete, put), который будет использован (опциональный параметр);

    • header.<header name> — заголовок, который будет отправлен (без префикса «header.») (опциональный параметр);

    • retry — количество выполнений запроса при неуспешном выполнении задачи (код ответа 400 и выше) (опциональный параметр);

Пример тела сообщения:

{
  "id": "862d9889-0d4a-48d7-ab0e-374baa750159",
  "cron": "0 * 14 * * ?",
  "properties": {
    "method": "post",
    "body": "тело сообщения, опциональный параметр",
    "header.test1": "заголовок сообщения, опциональный параметр",
    "header.test2": "заголовок сообщения, опциональный параметр"
  }
}

Примеры запросов:

#Обновление крон задачи
curl -X POST -v http://localhost:8080/update/cron -H 'Content-Type: application/json' -d "{\"id\":\"862d9889-0d4a-48d7-ab0e-374baa750159\",\"cron\":\"0 * 16 * * ?\"}"

В случае успешного выполнения запроса придет ответ с кодом 201 — Created.

Если при выполнении запроса произойдет какая-либо ошибка, то вернется ответ с текстом ошибки, с кодом 500 — Internal Server Error.

Подробнее про статусы см. в разделе «Возвращаемые статусы».

Удаление задачи#

Используется для отмены выполнения задачи

Вид URL — https://host:port/cancel,

где:

  • host — host, где развернут EVPT;

  • port — порт, на котором развернут EVPT;

  • cancel — наименование метода, константа.

Тело запроса ожидается в JSON-формате и содержит в себе:

  • id — идентификатор отменяемой задачи (обязательный параметр).

Пример тела сообщения:

{
  "id": "862d9889-0d4a-48d7-ab0e-374baa750159"
}

Примеры запросов:

#Отмена задачи
curl -v http://localhost:8080/cancel -H 'Content-Type: application/json' -d "{\"id\":\"87a91bf8-3804-4f97-b08b-788c8f04bdf2\"}"

В случае успешного выполнения запроса придет ответ с кодом 201 — Created.

Если при выполнении запроса произойдет какая-либо ошибка, то вернется ответ с текстом ошибки, с кодом 500 — Internal Server Error.

Подробнее про статусы см. в разделе «Возвращаемые статусы».

Удаление всех задач#

Используется для отмены выполнения всех задач

Вид URL — https://host:port/clean,

где:

  • host — host, где развернут EVPT;

  • port — порт, на котором развернут EVPT;

  • clean — наименование метода, константа.

Примеры запросов:

#Очистка
curl -v -X DELETE http://localhost:8080/clean

В случае успешного выполнения запроса придет ответ с кодом 204 — Success.

Если при выполнении запроса произойдет какая-либо ошибка, то вернется ответ с текстом ошибки, с кодом 500 — Internal Server Error.

Подробнее про статусы см. в разделе «Возвращаемые статусы».

Приостановка задачи#

Используется для приостановки выполнения задачи

Вид URL — https://host:port/pause,

где:

  • host — host, где развернут EVPT;

  • port — порт, на котором развернут EVPT;

  • pause — наименование метода, константа.

Тело запроса ожидается в JSON-формате и содержит в себе:

  • id — идентификатор приостанавливаемой задачи (обязательный параметр).

Пример тела сообщения:

{
  "id": "862d9889-0d4a-48d7-ab0e-374baa750159"
}

Примеры запросов:

#Приостановка задачи
curl -v http://localhost:8080/pause -H 'Content-Type: application/json' -d "{\"id\":\"862d9889-0d4a-48d7-ab0e-374baa750159\"}"

В случае успешного выполнения запроса придет ответ с кодом 201 — Created.

Если при выполнении запроса произойдет какая-либо ошибка, то вернется ответ с текстом ошибки, с кодом 500 — Internal Server Error.

Подробнее про статусы см. в разделе «Возвращаемые статусы».

Возобновление задачи#

Используется для возобновления выполнения задачи

Вид URL — https://host:port/resume,

где:

  • host — host, где развернут EVPT;

  • port — порт, на котором развернут EVPT;

  • resume — наименование метода, константа.

Тело запроса ожидается в JSON-формате и содержит в себе:

  • id — идентификатор возобновляемой задачи (обязательный параметр).

Пример тела сообщения:

{
  "id": "862d9889-0d4a-48d7-ab0e-374baa750159"
}

Примеры запросов:

#Возобновление задачи
curl -v http://localhost:8080/resume -H 'Content-Type: application/json' -d "{\"id\":\"bea83d0-d589-4acb-859a-b0cd32c728a1\"}"

В случае успешного выполнения запроса придет ответ с кодом 201 — Created.

Если при выполнении запроса произойдет какая-либо ошибка, то вернется ответ с текстом ошибки, с кодом 500 — Internal Server Error.

Подробнее про статусы см. в разделе «Возвращаемые статусы».

Информация о следующем времени выполнения запланированной задачи#

Используется для получения информации о следующем времени выполнения запланированной задачи и ее статусе (стоит задача на паузе или нет)

Вид URL — https://host:port/task/taskId,

где:

  • host — host, где развернут EVPT;

  • port — порт, на котором развернут EVPT;

  • task — наименование метода, константа;

  • taskId — идентификатор задачи информацию о которой мы запрашиваем.

Примеры запросов:

#Следующее время выполнения задачи
curl -v http://localhost:8080/task/3c2ad688-b3f7-4b45-bed4-f95f5b11d77f

В случае успешного выполнения запроса придет ответ с кодом 200 — Success.

В случае неизвестного запроса придет ответ с кодом 404 — Not found.

Если при выполнении запроса произойдет какая-либо ошибка, то вернется ответ с текстом ошибки, с кодом 500 — Internal Server Error.

Подробнее про статусы см. в разделе «Возвращаемые статусы».

Информация о всех запланированных задачах#

Используется для получения информации о всех запланированных задачах

Вид URL — https://host:port/tasks,

где:

  • host — host, где развернут EVPT;

  • port — порт, на котором развернут EVPT;

  • tasks — наименование метода, константа.

Примеры запросов:

#Информация о всех задачах
curl -v http://localhost:8080/tasks

В случае успешного выполнения запроса придет ответ с кодом 200 — Success.

Если при выполнении запроса произойдет какая-либо ошибка, то вернется ответ с текстом ошибки, с кодом 500 — Internal Server Error.

Подробнее про статусы см. в разделе «Возвращаемые статусы».

Количество запланированных задач#

Используется для получения информации о количестве запланированных задач

Вид URL — https://host:port/count,

где:

  • host — host, где развернут EVPT;

  • port — порт, на котором развернут EVPT;

  • count — наименование метода, константа.

Примеры запросов:

#Информация о всех задачах
curl -v http://host:port/task/count

В случае успешного выполнения запроса придет ответ с кодом 200 — Success.

Если при выполнении запроса произойдет какая-либо ошибка, то вернется ответ с текстом ошибки, с кодом 500 — Internal Server Error.

Подробнее про статусы см. в разделе «Возвращаемые статусы».

Возвращаемые статусы#

Общие статусы#

  • Неизвестный запрос

404 Not Found — в теле сообщение: «{«status»:»Resource not found»}».

Добавление задачи с указанием даты#

  • Корректно

201 Created — в теле url, который передавали в запросе и id запланированной задачи

{
  "status": "Task added for url http://localhost:1234/test",
  "id": "1c8cfe87-c536-4213-a684-fe3cc886d5b9"
}
  • Любая другая ошибка

500 InternalServerError — в теле сообщение с текстом ошибки.

Добавление задачи с интервалом и количеством выполнений#

  • Корректно

201 Created — в теле url, который передавали в запросе и id запланированной задачи

{
  "status": "Task added for url http://localhost:1234/test",
  "id": "1c8cfe87-c536-4213-a684-fe3cc886d5b9"
}
  • Любая другая ошибка

500 InternalServerError — в теле сообщение с текстом ошибки.

Добавление задачи с cron выражением#

  • Корректно

201 Created — в теле url, который передавали в запросе и id запланированной задачи

{
  "status": "Task added for url http://localhost:1234/test",
  "id": "1c8cfe87-c536-4213-a684-fe3cc886d5b9"
}
  • Любая другая ошибка

500 InternalServerError — в теле сообщение с текстом ошибки.

Обновление задачи с указанием даты#

  • Корректно

201 Created — в теле сообщение об успешном выполнении с указанием id запланированной задачи

{
  "status": "Task with id 5f14d3ad-66d9-4e5f-aef5-cea1c6048302 updated"
}
  • Любая другая ошибка

500 InternalServerError — в теле сообщение с текстом ошибки.

Обновление задачи с интервалом и количеством выполнений#

  • Корректно

201 Created — в теле сообщение об успешном выполнении с указанием id запланированной задачи

{
  "status": "Task with id 5f14d3ad-66d9-4e5f-aef5-cea1c6048302 updated"
}
  • Любая другая ошибка

500 InternalServerError — в теле сообщение с текстом ошибки.

Обновление задачи с указанием cron выражения#

  • Корректно

201 Created — в теле сообщение об успешном выполнении с указанием id запланированной задачи

{
  "status": "Task with id 5f14d3ad-66d9-4e5f-aef5-cea1c6048302 updated"
}
  • Любая другая ошибка

500 InternalServerError — в теле сообщение с текстом ошибки.

Удаление задачи#

  • Корректно

201 Created — в теле сообщение об успешном выполнении с указанием id запланированной задачи

{
  "status": "Task with id 5f14d3ad-66d9-4e5f-aef5-cea1c6048302 canceled"
}
  • Любая другая ошибка

500 InternalServerError — в теле сообщение с текстом ошибки.

Удаление всех задач#

  • Корректно

204 Success

  • Любая другая ошибка

500 InternalServerError — в теле сообщение с текстом ошибки.

Приостановка задачи#

  • Корректно

201 Created — в теле сообщение об успешном выполнении с указанием id запланированной задачи

{
  "status": "Task with id ecf39396-cbe8-4152-a99d-29af1461dbe1 paused"
}
  • Любая другая ошибка

500 InternalServerError — в теле сообщение с текстом ошибки.

Возобновление задачи#

  • Корректно

201 Created — в теле сообщение об успешном выполнении с указанием id запланированной задачи

{
  "status": "Task with id ecf39396-cbe8-4152-a99d-29af1461dbe1 resumes"
}
  • Любая другая ошибка

500 InternalServerError — в теле сообщение с текстом ошибки.

Информация о следующем времени выполнения запланированной задачи#

  • Корректно

200 Success — в теле время следующего выполнения запланированной задачи и ее статус

{
  "nextFireTime": "Tue Oct 25 14:00:00 MSK 2022",
  "status": "PAUSED"
}
  • Любая другая ошибка

500 InternalServerError — в теле сообщение с текстом ошибки.

  • Неизвестный запрос

404 Not Found — в теле сообщение: «{«status»:»Resource not found»}».

Информация о всех запланированных задачах#

  • Корректно

200 Success — в теле информация о всех запланированных задачах

{
  "38a4748c-2dcd-471b-abf9-3065b073bdc0": {
    "type": "date",
    "nextFireTime": "Tue Sep 06 14:04:08 MSK 2022",
    "state": "NORMAL"
  },
  "ecf39396-cbe8-4152-a99d-29af1461dbe1": {
    "type": "cron",
    "nextFireTime": "Tue Oct 25 14:00:00 MSK 2022",
    "state": "PAUSED",
    "cronExpression": "0 * 14 * * ?"
  },
  "6f14f119-b703-4517-9156-9dd999c8d026": {
    "count": "5",
    "state": "NORMAL",
    "interval": "100000",
    "type": "interval",
    "nextFireTime": "Tue Oct 25 13:42:37 MSK 2022"
  }
}
  • Любая другая ошибка

500 InternalServerError — в теле сообщение с текстом ошибки.

Количество запланированных задач#

  • Корректно

200 Success — в теле информация о количестве запланированных задач

{
  "count": "<Количество запланированных задач>"
}
  • Любая другая ошибка

500 InternalServerError — в теле сообщение с текстом ошибки.

Правила эксплуатации#

Не требуется.

Результат#

Конфигурация REST интерфейса EVPT настроена.