Не совсем вас понял… Я запустил 2 отдельных контейнера lersamr/full и lersamr/pollservice, просто запускаю их одним docker-compose файлом (как например можно запустить БД и сервер ЛЭРС).
Подскажите подробнее, как сделать? И какие коннекты (LERS_POLLSERVICE_PollHost__Connection) при этом использовать.
root@dev:~# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
89b5560158cd lersamr/full:3.51.3 "/usr/LERS/start-ser…" 33 minutes ago Up 33 minutes 0.0.0.0:10000->10000/tcp lers-lers-1
44a42ccbb2b5 lersamr/pollservice:3.51.3 "dotnet /usr/LERS/Po…" 33 minutes ago Up 33 minutes 9999/tcp lers-lerspool-1
Похоже я нашел проблему в базе данных.
При работе программы, переносящей данные из MS SQL в PG неверно экспортнулась таблица ModemCommand, а именно в ней нет символов “\t”.
Завтра протестирую более тщательно.
рабочая
7 2 ATD 2 0 90000 NO DIALTONE\tBUSY\tNO CARRIER\tERROR CONNECT\tOK
не рабочая
7 2 ATD 2 0 90000 NO DIALTONEBUSYNO CARRIERERROR CONNECTOK
Да, вы оказались правы. Проблема возникает именно по причине разницы в БД, а не в настройках docker. Управляющие AT-команды модемов и ответы на них хранятся в базе данных. Ответы разделены символом табуляции, который при миграции исключался из текста. В результате ответы смешались между собой и искаженными приходили от Сервера Службе опроса. Как следствие при проверке не совпадет ни один ответ, что приводит к возникновению ошибки истечения времени установки соединения по CSD.
В значениях других таблиц, с которыми инициализируется БД, символ табуляции не найден. Но, как вы понимаете, такой поиск достаточно проблематичен. Поэтому после переноса БД все же какое то время стоит быть бдительным.
Спасибо за обращение! Мы обновили утилиту переноса данных с SQL Server на PostgreSQL. Пожалуйста, повторите процедуру переноса и проверьте опрос после этого.