Проверка номера на внешнем сервере

Система видеонаблюдения
Ответить
chubinmax
Сообщения: 6
Зарегистрирован: 26 июл 2017, 14:15

Проверка номера на внешнем сервере

Сообщение chubinmax »

Доброго дня!
Коллеги нужна небольшая подсказка.
по бизнес процессу требуется проверка открыт ли ремонтный заказ на въезжающий в сервисную зону автомобиль.
в случае если заказ-наряд не открыт - отправляем письмо компетентному сотруднику и он разбирается что к чему.
почему то захотелось использовать встроенный механизм:
При установленном флаге "Проверять доступ на внешнем сервере", при распознавании номера выполняется HTTP GET запрос на указанный в поле "Адрес внешнего сервера" адрес, для определения его типа доступа. Данный режим может использоваться для интеграции со сторонним ПО. Распознанный номер будет передан в параметре "plate" HTTP запроса. Ниже приведен пример запроса отсылаемого на внешний сервер.

http://127.0.0.1:9860/platecheck?plate=H877TA18
со стороны сервера подготовлен PHP скрипт отправляющий запрос в БД и возвращающий согласно мануалу isallowaccess=1 в случае если все Хоккей и isallowaccess=0 в противном случае.


И тут то возникли вопросы:
1. как собственно протестировать этот механизм "Проверять доступ на внешнем сервере"?
2. в какой момент происходит обращение к внешнему серверу? какое событие вызывает срабатывание этого механизма?
3. какой таймаут у этой операции? Ведь WEB сервер может возвращать результат с задержкой.
4. Как увидеть что отправлен запрос?
5. как увидеть что получено в ответ или таймаут?

6. Как Возможно реализовать такую схему может быть иным путем: проезд машины, распознавание номера, обращение к стороннему серверу для проверки номера, отправка сообщения ответственному сотруднику о том что произошел проезд с нарушением регламента.
chubinmax
Сообщения: 6
Зарегистрирован: 26 июл 2017, 14:15

Re: Проверка номера на внешнем сервере

Сообщение chubinmax »

Ну собственно вроде бы отладил.
В качестве отладчика смотрел логи апача.
использовал такую логику:
если на въезжающий автомобиль в БД есть открытый заказ-наряд, то возвращать признак "Не в списке", если нет, то "Черный список".
и в блоке настройки Действий на события соответственно прописал условие "Если въезд автомобиля Черный список" то отправить мылом сообщение.
Пока так.
С удовольствием услышал бы советы и рекомендации.




а еще конечно порадовало, что вы номер в базе храните в кириллице, а в GET подставляете латиницу, пока Y не увидел вместо буквы У не вкурил.
SpSupport
Администратор
Сообщения: 683
Зарегистрирован: 08 окт 2014, 13:46

Re: Проверка номера на внешнем сервере

Сообщение SpSupport »

Добрый день!

Обращение происходит после распознавания нового номер, и до отправки события MS_ServerEventType::EV_MS_PLATE_NUMBER_ADDED. Если настроена проверка на внешнем сервере, то запускается она. С тайм-аутом 5с. Если получить ответ не удалось, то проверка из базы. Тайм-аут или ошибку можно увидеть только в логах:
LOG_ERROR << "Ошибка при запросе проверки номера"
Ответить