Opened 6 years ago

Closed 6 years ago

Last modified 6 years ago

#17 closed улучшение (wontfix)

Добавить настройку перезапуска модуля SIM при отсутствии подключения к серверу.

Reported by: san Owned by: alx
Priority: major Milestone: 1 очередь
Keywords: Cc: andrei

Description

Предлагаю добавить в веб-интерфейсе для устройств клиент пользовательскую настройку "Перезапуск модуля SIM при отсутствии подключения к серверу" и настройка времени ожидания подключения.

Это было бы страховкой на тот случай, если что-то пошло не так на каком-то этапе работы с модулем сим (например SIM сошёл с ума, как в #16) и подключение к серверу не произошло.

Можно конечно пойти дальше и перезапустить весь контроллер, но сомневаюсь что это правильно...

Change History (8)

comment:1 by san, 6 years ago

Owner: set to alx
Status: newassigned

in reply to:  description comment:2 by alx, 6 years ago

Replying to san:

Предлагаю добавить в веб-интерфейсе для устройств клиент

Во-первых, непонятно, что значит "для устройств клиент"? В устройстве два последовательных интерфейса, и один из них может работать как клиент (инициировать подключение к удаленному серверу), а другой - как сервер (принимать соединения от других хостов)...

Во-вторых, верно ли я понял, что предлагается сделать две разные ветки ПО - одну для устройств клиент, куда будет добавлена предлагаемая настройка, и другую - для устройств сервер, где этой настройки не будет?

пользовательскую настройку "Перезапуск модуля SIM при отсутствии подключения к серверу" и настройка времени ожидания подключения.

Я считаю такую функцию деструктивной. В системе помимо одного подключения к серверу, о котором идет речь, может существовать множество других подключений, работа которых будет нарушена при перезапуске модуля. Это все равно что когда в веб-браузере не получается открыть какую-то страницу из интернета, пойти и отключать электричество во всем офисе... :)

Это было бы страховкой на тот случай, если что-то пошло не так на каком-то этапе работы с модулем сим (например SIM сошёл с ума, как в #16)

Такая страховка уже есть - если модуль не отвечает "OK" на какую-то из команд, его перезапускают.

и подключение к серверу не произошло.

Подключение к серверу может не произойти по множеству причин, никак не связанных с модулем SIM: от неправильной настройки имени сервера до отсутствия питания самого сервера.

comment:3 by san, 6 years ago

В устройстве два последовательных интерфейса, и один из них может работать как клиент (инициировать подключение к удаленному серверу), а другой - как сервер (принимать соединения от других хостов).

Вот это для меня странно :) Если один порт - сервер, какой смысл делать другой порт клиентом? ну да ладно не об этом речь...

Во-вторых, верно ли я понял, что предлагается сделать две разные ветки ПО - одну для устройств клиент, куда будет добавлена предлагаемая настройка, и другую - для устройств сервер, где этой настройки не будет?

Нет не правильно. Давай будем для простоты считать, что я не писал "для устройств клиент".

В системе помимо одного подключения к серверу, о котором идет речь, может существовать множество других подключений

Таки подключение к серверу основная функция, без него всё остальное не имеет смысла.

деструктивной

На мой взгляд если задать разумный таймаут, например 1 час, к какой-то страшной деструкции перезапуск не приведёт.

Подключение к серверу может не произойти по множеству причин, никак не связанных с модулем SIM: от неправильной настройки имени сервера до отсутствия питания самого сервера.

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

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

Андрей, я бы твоё мнение тоже хотел услышать.

Version 0, edited 6 years ago by san (next)

in reply to:  3 comment:4 by alx, 6 years ago

Replying to san:

Если один порт - сервер, какой смысл делать другой порт клиентом?

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

Два имеющихся в устройстве последовательных порта никак логически друг с другом не связаны. Фактически, это два независимых устройства ("модема") в одном корпусе. И я не вижу причин запрещать пользователю использовать их в разных режимах (один как клиент, другой - как сервер).

В системе помимо одного подключения к серверу, о котором идет речь, может существовать множество других подключений

Таки подключение к серверу основная функция, без него всё остальное не имеет смысла.

Так эти самые "другие подключения", о которых я говорю - это ведь тоже подключения к серверу (серверам)!!! Во-первых, как я уже писал выше, у нас два устройства в одном корпусе, и второе устройство может работать сервером и иметь подключения клиентов. Во-вторых, даже если второй модем - это тоже клиент, то на дургом-то конце его соединения - все равно сервер! :) А модуль SIM - один на всех. И если из-за проблемы одного соединения его перезапускать, это приведет к перерыву связи других соединений.

деструктивной

На мой взгляд если задать разумный таймаут, например 1 час, к какой-то страшной деструкции перезапуск не приведёт.

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

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

Этот пример не аналогичен предложенному тобой улучшению. Ты пишешь, что передача данных не подключалась. У меня нет никаких возражений против рестарта модуля SIM в таком случае. Более того, я сам недавно создал тикет #19, где предлагаю в такой ситуации перезапускать SIM. В данном же тикете ты предлагаешь выполнять перезапуск, если не устанавливается одно отдельно взятое соединение. Я считаю, что это - "из пушки по воробьям".

comment:5 by san, 6 years ago

Я считаю, что это - "из пушки по воробьям".

С этим я даже не спорю, но если наличие воробьёв критично, то иногда можно и из пушки по ним :)

Этот пример не аналогичен предложенному тобой улучшению

Я пытался предложить более "широкий" вариант, который возможно защитит и о каких-то других проблем, которые мы может-быть сейчас не видим, понятно что всего мы не предусмотрим, но я пытаюсь максимально приблизиться к одному условий задания руководителя( "чтобы не зависал").

in reply to:  5 comment:6 by alx, 6 years ago

Replying to san:

я пытаюсь максимально приблизиться к одному условий задания руководителя( "чтобы не зависал").

:) Я думаю, что случай неустановки одного соединения выходит за рамки даже очень расширительного понимания слова "зависнуть"...

comment:7 by alx, 6 years ago

Resolution: wontfix
Status: assignedclosed

in reply to:  3 comment:8 by andrei, 6 years ago

Андрей, я бы твоё мнение тоже хотел услышать.

Я поддержу Алексея - перезапускать SIM при условии что одно из многих соединений не соединяется не очень разумно - раз остальные работают, значит SIM живой.
Вот если все отвалились и не соединяются довольно продолжительное время, то да, можно и рестартануть попробовать. Только нужно с критериями определиться и с временем.

Note: See TracTickets for help on using tickets.