На сервере есть всего один диспетчерский модем. Часто приходится немедленно принудительно останавливать опросы, из за того, что требуется срочно обзвонить другой объект.
При нажатии на кнопку “Освободить немедленно” ЛЭРС не сохраняет в БД данные прерванного сеанса опроса.
Прошу изменить алгоритм работы таким образом, чтобы, при немедленной остановке опроса, уже считанные данные, всё-же, сохранялись в базе данных.
Тут больше зависит от модели устройства. Если за время опроса удалось считать полные архивные записи, они сохранятся. А есть устройства, где полные записи считываютмя только в конце опроса, их сохранить нельзя.
Для примера покажите журнал опроса одного из прерванных сеансов, посмотрим есть ли возможность.
Посмотрели журналы, всё-таки, ситуация несколько другая. Если опрос завершается принудительно, по освобождению порта, данные от службы опроса приходят, но игнорируются. Посмотрим что можно сделать. Возможно, получится сохранить.
В 3.52 мы переделали механизм принудительного завершения. Теперь сервер дождётся завершения опроса и сохранения данных и только после этого запустит опрос.
В принципе, раньше тоже приходилось ждать завершения порта, но это было реализовано неявно, и иногда могло приводить к ошибкам. Сейчас система станет более предсказуемой в режиме принудительного завершения.
Почему до конца? Служба опроса получает команду на прерывание опроса и ей нужно некоторое время (секунд 20), чтобы его завершить и сохранить данные. Раньше этого времени сервер ей не давал, теперь будет.