Перейти к содержанию

Запуск расчета через API

Расчет графа\блока\цепочки блоков доступен через API с использованием пользовательского токена для выполнения расчета. Токен для расчета задач - это бессрочный токен, который выдается пользователю только для расчета.

Для запуска расчета необходимо отправить GET-запрос на API http://application/api/calculate?token={token}. В разделе BODY запроса надо передать следующие параметры:

  • token - токен для расчета задач;
  • task - id задачи;
  • block - id блока;
  • branch - 0 или 1, рассчитать ветку начиная с блока block. Данный параметр должен быть в паре с параметром block;
  • async - 0 или 1, синхронный\асинхронный режим (по умолчанию используется асинхронный режим);
  • inputs - данные для параметров расчета графа. Если на графе есть блок "Входные_данные".

Ответы с параметром async=1 отличаются от async=0. При вызове асинхронного расчета в ответе возвращается ссылка для опроса результатов расчета, а при синхронном возвращается результат расчета по его окончании.

Ожидание результата

Если расчет занимает долгое время (более 10 минут), запрос на расчет может завершиться по таймауту с ошибкой прокси. В таком случае необходимо использовать асинхронный вариант расчета.

Пример запуска расчета задачи

(аналогичен запуску через "Рассчитать задачу")

  • обязательные параметры - token и task
  • опциональный параметр - async, inputs

Асинхронный запрос

api/calculate?token=2186aeef3cd340e9ebca69d358acc2e336b5ee781ff2439f636154acc2c9a67d&task=86dfbce7-6c83-42b3-b19c-725c8f29a273

Ответ

{"Code":0,"Info":"","Body":{"location":"/api/v1/tasks/86dfbce7-6c83-42b3-b19c-725c8f29a273/calc/c11b1532-020f-4265-8413-088c461a917d"},"Path":""}

Синхронный запрос

api/calculate?token=2186aeef3cd340e9ebca69d358acc2e336b5ee781ff2439f636154acc2c9a67d&task=86dfbce7-6c83-42b3-b19c-725c8f29a273&async=0

Ответ

{"Code":0,"Info":"","Body":{"log":[]},"Path":""}

Асинхронный запрос с параметрами расчета графа

api/calculate?token=2186aeef3cd340e9ebca69d358acc2e336b5ee781ff2439f636154acc2c9a67d&task=86dfbce7-6c83-42b3-b19c-725c8f29a273&inputs={"id_output_1": "value", "id_output_2": {"param": 123}}

Ответ

{"Code":0,"Info":"","Body":{"location":"/api/v1/tasks/86dfbce7-6c83-42b3-b19c-725c8f29a273/calc/c11b1532-020f-4265-8413-088c461a917d"},"Path":""}

Пример запуска расчета блока

(аналогичен запуску через "Рассчитать блок")

  • обязательные параметры - token, task и block
  • опциональный параметр - async

Асинхронный запрос

api/calculate?token=2186aeef3cd340e9ebca69d358acc2e336b5ee781ff2439f636154acc2c9a67d&task=86dfbce7-6c83-42b3-b19c-725c8f29a273&block=b861fc1e-fb4a-43b9-8d46-3fc871115405

Ответ

{"Code":0,"Info":"","Body":{"location":"/api/v1/tasks/86dfbce7-6c83-42b3-b19c-725c8f29a273/calc/c11b1532-020f-4265-8413-088c461a917d"},"Path":""}

Синхронный запрос

api/calculate?token=2186aeef3cd340e9ebca69d358acc2e336b5ee781ff2439f636154acc2c9a67d&task=86dfbce7-6c83-42b3-b19c-725c8f29a273&block=b861fc1e-fb4a-43b9-8d46-3fc871115405&async=0

Ответ

{"Code":0,"Info":"","Body":{"log":[]},"Path":""}

Пример запуска расчета цепочки блоков

(аналогичен запуску через "Рассчитать блок и следующие")

  • обязательные параметры - token, task, block и branch
  • опциональный параметр - async

Асинхронный запрос

api/calculate?token=2186aeef3cd340e9ebca69d358acc2e336b5ee781ff2439f636154acc2c9a67d&task=86dfbce7-6c83-42b3-b19c-725c8f29a273&block=b861fc1e-fb4a-43b9-8d46-3fc871115405&branch=1

Ответ

{"Code":0,"Info":"","Body":{"location":"/api/v1/tasks/86dfbce7-6c83-42b3-b19c-725c8f29a273/calc/c11b1532-020f-4265-8413-088c461a917d"},"Path":""}

Синхронный запрос

api/calculate?token=2186aeef3cd340e9ebca69d358acc2e336b5ee781ff2439f636154acc2c9a67d&task=86dfbce7-6c83-42b3-b19c-725c8f29a273&block=b861fc1e-fb4a-43b9-8d46-3fc871115405&branch=1&async=0

Ответ

{"Code":0,"Info":"","Body":[],"Path":""}