Сообщения без ответов | Активные темы Текущее время: 22 мар 2019, 07:48



Ответить на тему  [ Сообщений: 3 ] 
Проверка номера на внешнем сервере 
Автор Сообщение

Зарегистрирован: 26 июл 2017, 13:15
Сообщения: 6
Сообщение Проверка номера на внешнем сервере
Доброго дня!
Коллеги нужна небольшая подсказка.
по бизнес процессу требуется проверка открыт ли ремонтный заказ на въезжающий в сервисную зону автомобиль.
в случае если заказ-наряд не открыт - отправляем письмо компетентному сотруднику и он разбирается что к чему.
почему то захотелось использовать встроенный механизм:

Цитата:
При установленном флаге "Проверять доступ на внешнем сервере", при распознавании номера выполняется 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. Как Возможно реализовать такую схему может быть иным путем: проезд машины, распознавание номера, обращение к стороннему серверу для проверки номера, отправка сообщения ответственному сотруднику о том что произошел проезд с нарушением регламента.


01 авг 2017, 16:22
Профиль

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




а еще конечно порадовало, что вы номер в базе храните в кириллице, а в GET подставляете латиницу, пока Y не увидел вместо буквы У не вкурил.


01 авг 2017, 20:49
Профиль
Администратор

Зарегистрирован: 08 окт 2014, 12:46
Сообщения: 532
Сообщение Re: Проверка номера на внешнем сервере
Добрый день!

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


02 авг 2017, 13:21
Профиль
Показать сообщения за:  Поле сортировки  
Ответить на тему   [ Сообщений: 3 ] 

Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group.
Designed by ST Software for PTF.
Русская поддержка phpBB