Не происходит синхронизация с ФГИС АРШИН

К сожалению возможности изменения названия модели нет. Так как “Питерфлоу РС” это системная модель оборудования и в ней есть возможность выбора только одного ДУ 25, другие модели оборудования отсутствуют. Поэтому создавалось новое оборудование с названием отличным от системного.

Сейчас попробовал в системной модели оборудования “Питерфлоу РС” добавить варианты исполнения - без проблем добавляются. Попробуйте.

Да, проверил можно. Только теперь не знаю как все это сделать. Сотрудник до меня насоздовал нового оборудования, а не новый вариант исполнения в системном оборудовании и мне утверждал, что нет возможности. Теперь не представляю как это исправить.

У меня аналогичная проблема.
Раньше не было системного оборудования “Взлет ТПС”, поэтому мы использовали пользовательское оборудование “Взлет ТПС Pt 500”, теперь появилось системное оборудование, и я не представляю как тысячу датчиков переделать с одного на другое.
Потому что когда заходишь в свойства оборудования нет возможности сменить тип. Нужно только удалять и создавать.

Вы не поднимали данный вопрос (о смене модели оборудования) на форуме?

Нет, не поднимал. Думаю сообщения из данной темы нужно выделить в отдельную как раз по данному вопросу.
slavniy выделите пожалуйста сообщения в отдельную тему

7in, в выделении обсуждения о переименовании моделей нет необходимости, так как в своей теме, которую вы приводили ранее, вы уже поднимали вопрос о проблемах при синхронизации с ФГИС АРШИН из-за разницы наименования в ЛЭРС УЧЕТ и в данной системе. Дублировать темы не нужно.

На всякий случай еще раз отмечу, что в ЛЭРС УЧЕТ наименования берутся такими, какими их назвал производитель. Причины разницы в наименований в ФГИС АРШИН и в ЛЭРС УЧЕТ, а также пути решения данной ситуации обсуждаются в вышеописанной вашей теме. Если вы хотите предложить переименовать модели оборудования, то вы можете сделать это в ней.

Информацию по синхронизации с ФГИС АРШИН вы можете найти в журнале работы Сервера ЛЭРС УЧЕТ.

Уточните пожалуйста: у вас есть возможность проверить на своем экземпляре сервера ЛЭРС УЧЕТ работу синхронизации по приведенным мною в первом сообщении темы приборам?
Если синхронизация не произойдет и у вас - то думаю нужны некие исправления в механизм синхронизации, т.к. фактически сейчас он не работает (и не только у нас).

В ходе разбирательств по описанной вами проблеме ситуация воспроизводится. Но ее причина судя по всему заключается в ФГИС АРШИН. Дело в том, ЛЭРС УЧЕТ отправляет запросы о поверке через API ФГИС АРШИН и обрабатывает полученный результат. Как оказалось ФГИС АРШИН через свой API не всегда возвращает результат. Например, если сформировать запрос по вашему прибору “ПРЭМ №328380” https://fgis.gost.ru/fundmetrology/eapi/vri?year=2022&search=ПРЭМ%20328380, то в очень редких случаях API ФГИС АРШИН возвращает корректный результат:


В подавляющем большинстве случаев возвращается пустой ответ, который говорит о том, что ФГИС АРШИН якобы не смог найти информацию по запросу:

Повторюсь, запрос всегда один и тот же, а вот результаты разные. Могу предположить лишь, что это происходит из-за очень большой нагрузки на данный API.

В данном случае причиной возникновения рассматриваемой ситуации является некорректная работа API ФГИС АРШИН.

Благодарю за предоставленную информацию! Это достаточно странно на мой взгляд, т.к. через веб форму поиска у меня подобная ситуация ни разу не возникала. Возможно сам сайт работает не через публичный API, в связи с чем нет таких сбоев.
Попробую сам изучить данный вопрос более детально.

Действительно при обращении к https://fgis.gost.ru/fundmetrology/eapi/ время ответа сервера составляет более 20 секунд и лишь иногда приходит ответ с информацией о поверке.
Такое ощущение что по истечении 30 секунд на ответ от базы данных сервер возвращает пустой ответ, т.к. все разы когда я получил информацию о поверке время ответа было менее 30 секунд, а все разы когда получил “0” - время ответа было чуть больше 30 секунд.
При этом если использовать веб страницу https://fgis.gost.ru/fundmetrology/cm/results то запрос идет по другому адресу и там время ответа сервера гораздо меньше - в районе 8-10 секунд, и ответ всегда возвращается корректный. Данная информация подтверждает Ваши слова о том, что проблема на стороне ФГИС АРШИН, а именно высокая загруженность публичного API.
В связи с этим прошу рассмотреть вопрос внесения изменений в механизм работы ЛЭРС УЧЕТ с API ФГИС АРШИН, а именно: в случае, если ответ от API пришел более чем через 30 секунд после запроса, и ответ говорит о якобы отсутствии информации - считать данную попытку синхронизации неудачной и поставить данный прибор в очередь на синхронизацию на следующий день. Механизм похож на алгоритм опроса устройств : если ответ не получен до истечения таймаута - повторяем запрос.

1 лайк

Пожалуйста, создайте по вашему предложению отдельную тему в соответствующем разделе нашего форума Предложения по улучшению. Текущую тему перенести в предложения уже невозможно, так как в ней слишком многое посвящено обсуждению рассматриваемой проблемы.

Сейчас такой механизм реализован. Повторный запрос будет выполнен через 7 дней после неудачного поиска. Думаю, что уменьшать не стоит, так как при опытной эксплуатации выяснилось, что синхронизация вообще не заканчивается если повторять на следующий день.

Тут я считаю нужно разделить два варианта “неудачного поиска”:

  1. API отработал как нужно, но вернул пустой ответ, т.к. оборудование еще не поверили
  2. API перегружен и по истечении 30 секунд так же вернул пустой ответ (хотя возможно что оборудование поверили, и оно есть в базе АРШИНа).

Для ЛЭРС УЧЕТ есть разница между двумя этими вариантами?
Насколько я понимаю во втором случае сервер API должен возвращать ответ с кодом 5xx, а не 200 OK как это происходит сейчас, я прав?

АРШИН в любом случае возвращает ответ 200, в этом и проблема. Все ответы, отличные от 2XX, считаются ошибкой, данные игнорируются и поиск произойдёт на следующий день. Но в обсуждаемом случае ответы одинаковые. Только данных нет.

Вот об этом я и писал в предыдущих своих сообщениях. Нельзя ли истечение таймаута в 30 секунд приравнять к ошибке и сделать поиск на следующий день?

Поиск и так повторится через 7 дней. Насколько критично это изменение? Мне кажется неправильным опираться на явные ошибки в API системы.

У меня больше вопрос не к тому, что поиск повторится через 7 или через 1 день, а к тому, что заполняется поле “дата синхронизации” в справочнике оборудования, хотя фактически синхронизация не была проведена.
Мне было бы гораздо удобнее в справочнике оборудования видеть где синхронизация действительно произошла, и информации нет, а где она не произошла.
Понимаю что это неправильный подход, но все же хочу услышать Ваше мнение: что если дополнительно делать запрос к

https://fgis.gost.ru/fundmetrology/cm/xcdb/vri/select?fq=verification_year:2022&fq=mi.mitype:*%D0%9F%D0%A0%D0%AD%D0%9C*&fq=mi.number:*328380*&q=*&fl=vri_id,org_title,mi.mitnumber,mi.mititle,mi.mitype,mi.modification,mi.number,verification_date,valid_date,applicability,result_docnum,sticker_num&sort=verification_date+desc,org_title+asc&rows=10&start=0

и сверять ответ? По данному адресу сервер всегда возвращает корректные ответы, да и время ответа в разы меньше. К данному адресу идет запрос, если выполнять поиск на сайте АРШИН с результатами поверки.

Это не публичный API, пользоваться им не стоит. Поле “Дата синхронизации” больше техническое и нужно для отслеживания сроков для последующих запросов, поэтому, заполняется оно после каждой попытки, удачной или неудачной.

Лучше отслеживать факт успешной синхронизации по колонке “Годен”. Если в ней находится значение Да или Нет, синхронизация прошла успешно.