[13080] Сделать сохранение данных при освобождении порта опроса

На сервере есть всего один диспетчерский модем. Часто приходится немедленно принудительно останавливать опросы, из за того, что требуется срочно обзвонить другой объект.
При нажатии на кнопку “Освободить немедленно” ЛЭРС не сохраняет в БД данные прерванного сеанса опроса.

image

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

1 лайк

Тут больше зависит от модели устройства. Если за время опроса удалось считать полные архивные записи, они сохранятся. А есть устройства, где полные записи считываютмя только в конце опроса, их сохранить нельзя.

Для примера покажите журнал опроса одного из прерванных сеансов, посмотрим есть ли возможность.

Журнал опроса.xlsx (19,9 КБ)

Посмотрели журналы, всё-таки, ситуация несколько другая. Если опрос завершается принудительно, по освобождению порта, данные от службы опроса приходят, но игнорируются. Посмотрим что можно сделать. Возможно, получится сохранить.

1 лайк

В 3.52 мы переделали механизм принудительного завершения. Теперь сервер дождётся завершения опроса и сохранения данных и только после этого запустит опрос.

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

@lersbot update 3.52.0

Ничего не понял… то есть, если сейчас я попытаюсь прервать текущий опрос для срочного нового опроса, старый будет все равно продолжаться до конца?

Почему до конца? Служба опроса получает команду на прерывание опроса и ей нужно некоторое время (секунд 20), чтобы его завершить и сохранить данные. Раньше этого времени сервер ей не давал, теперь будет.