Общие принципы
Портал госпитализации имеет единый интерфейс загрузки данных. Для обращения к интерфейсу отправляется запрос вида:
#!php
/udata/data/uploadInterface/{$type}/{$sync}
Параметры:
- $type - тип загружаемых данных [branch, beds, direction и т.д.]
- $sync - режим загрузки данных [1 - синхронный, 0 - асинхронный]
Портал госпитализации поддерживает 2 режима загрузки данных - синхронный и асинхронный. Синхронный метод возвращает результат сразу после выполнения запроса на загрузку данных, асинхронный - после обработки данных сервером очередей.
Асинхронная загрузка
При асинхронной загрузке данных, в формат запроса для корневой ноды root добавляются дополнительные атрибуты:
- key - уникальный идентификатор файла
- ip - IP адрес сервера, на который надо отправить результат загрузки
- port - порт
Пример запроса для асинхронной загрузки
#!xml
<?xml version="1.0" encoding="UTF-8"?>
<root key="3400" ip="127.0.0.1" port="30">
...
</root>
Пример ответа при асинхронной загрузке
#!xml
<?xml version="1.0" encoding="utf-8"?>
<udata xmlns:xlink="http://www.w3.org/TR/xlink" module="data" method="uploadInterface" generation-time="0.098592">
<response>
<code>200</code>
<data>
<key>3400</key>
<is_success>1</is_success>
<id>...</id>
</data>
</response>
</udata>
Синхронная загрузка
При синхронной загрузке данных ответ возвращается сразу после обработки данных в ответ на запрос.
Пример запроса для синхронной загрузки
#!xml
<?xml version="1.0" encoding="UTF-8"?>
<root>
...
</root>
Пример ответа при синхронной загрузке
#!xml
<?xml version="1.0" encoding="utf-8"?>
<udata xmlns:xlink="http://www.w3.org/TR/xlink" module="data" method="uploadInterface" generation-time="0.098592">
<response>
<code>200</code>
<data>
<is_success>1</is_success>
<id>...</id>
</data>
</response>
</udata>
Какой режим выбрать?
Общие рекомендации сводятся к следующим пунктам:
- Если загрузка данных критична и необходимо максимально быстрое получение ответа используйте синхронный режим.
- Если загрузка данных не критична по скорости получения ответа - используйте асинхронный режим.
No Comments