(3) Добрый день!
При использовании мобильного клиента столкнулся с проблемой зависания сеансов, если выход делать "не по инструкции". Т.е. когда вы просто выкидываете приложение, то сеанс остается и висит пока его не убьет сервер. На сервере настроено, что через 15 минут сеанс будет погашен.
Что смущает:
1) Сеанс может погаситься и у обычного пользователя. Т.е. начали оформлять документ, накликали товаров, заблокировали телефон и пошли по делам. Вернулись, разблокируем телефон - сеанса нет, данные потеряны.
2) 15 минут долго, имхо, при разработке крайне не удобно, т.к. либо выходи через меню, либо убивай сеансы ручками.
Что хотелось бы: Может есть какой-либо метод или "фишка", что бы при закрытии клиента на мобильном устройстве убивать сеанс. При этом не убивать сеанс, если клиент просто спит.
П.С. гугл и яндекс ведут на темы, где советуют поставить 15 минут.
При использовании мобильного клиента столкнулся с проблемой зависания сеансов, если выход делать "не по инструкции". Т.е. когда вы просто выкидываете приложение, то сеанс остается и висит пока его не убьет сервер. На сервере настроено, что через 15 минут сеанс будет погашен.
Что смущает:
1) Сеанс может погаситься и у обычного пользователя. Т.е. начали оформлять документ, накликали товаров, заблокировали телефон и пошли по делам. Вернулись, разблокируем телефон - сеанса нет, данные потеряны.
2) 15 минут долго, имхо, при разработке крайне не удобно, т.к. либо выходи через меню, либо убивай сеансы ручками.
Что хотелось бы: Может есть какой-либо метод или "фишка", что бы при закрытии клиента на мобильном устройстве убивать сеанс. При этом не убивать сеанс, если клиент просто спит.
П.С. гугл и яндекс ведут на темы, где советуют поставить 15 минут.
По теме из базы знаний
- Конструктор мобильного клиента Simple WMS Client: способ создать полноценный ТСД без мобильной разработки. Теперь новая версия - Simple UI (обновлено 14.11.2019)
- Мобильный клиент 1С
- Проект, который прошел путь от провала до web-клиента. От web-клиента до мобильного приложения
- Мобильное приложение на 1С?
- Особенности разработки нативного мобильного приложения с бэкендом на 1С
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
Ну потому что это логично. Вы пытаетесь решить вопрос не с того конца, как вариант - ринг вам в помощь, проверяйте что за сеанс и сами убивайте, если надо. Тут простого пути нет. Тем более, что сеанс когда выходит с мобильной, то клиентских вызовов нет.
Поднимите базу вторую, сделайте там хттп сервисы, пингуйте их с мобильной платформы, как только пинг не дошел за 2-3 минуты - просто убивайте сессию через ринг.
Поднимите базу вторую, сделайте там хттп сервисы, пингуйте их с мобильной платформы, как только пинг не дошел за 2-3 минуты - просто убивайте сессию через ринг.
(2) Не вижу особых различий между пингом и настройкой на убийство сеансов. Не пробовал, но мне кажется, что при блокировке смартфона пинг тоже будет отсутствовать. плюс, постоянные пинги на базе в 1000+ пользователей тоже не очень хорошо.
Я больше надеялся, что 1С может отследить когда мобильный клиент выкидывают из памяти и на этом действии в фоне выполнять завершающие процедуры.
Я больше надеялся, что 1С может отследить когда мобильный клиент выкидывают из памяти и на этом действии в фоне выполнять завершающие процедуры.
(3) что то вы не туда воюете :)
1) Сеанс может погаситься и у обычного пользователя. Т.е. начали оформлять документ, накликали товаров, заблокировали телефон и пошли по делам. Вернулись, разблокируем телефон - сеанса нет, данные потеряны.
Проблема решается? Да, потому что вы увеличиваете это время до 3 часов, например
2) 15 минут долго, имхо, при разработке крайне не удобно, т.к. либо выходи через меню, либо убивай сеансы ручками.
Если вы не получили пинг с к лиента в течении 1 минуты - вы рубите сессию мобильного клиента. Т.е. не ждете 15 минут. Рубите по условию. И рубите только то что надо.
1) Сеанс может погаситься и у обычного пользователя. Т.е. начали оформлять документ, накликали товаров, заблокировали телефон и пошли по делам. Вернулись, разблокируем телефон - сеанса нет, данные потеряны.
Проблема решается? Да, потому что вы увеличиваете это время до 3 часов, например
2) 15 минут долго, имхо, при разработке крайне не удобно, т.к. либо выходи через меню, либо убивай сеансы ручками.
Если вы не получили пинг с к лиента в течении 1 минуты - вы рубите сессию мобильного клиента. Т.е. не ждете 15 минут. Рубите по условию. И рубите только то что надо.
(4) Мне кажется мы зашли на второй круг. Поймите, сейчас работает приемлемо и менять скорость завершения сеансов с 15 минут до 1 особого смысла нет. Тут надо именно понимать, какой сеанс спит, заблокирован, потерял связь и т.д., а кокой именно завершен пользователем.
Если такой возможности нет, то все описанные вами способы не дадут полного понимания картины.
Если смартфон заблокирован, будет ли выполнен пинг клиента? С самой ринг не работал, только покрутил взаимодействия, но там нет никакой жизни, пока смартфон заблокирован(
Если такой возможности нет, то все описанные вами способы не дадут полного понимания картины.
Если вы не получили пинг с к лиента в течении 1 минуты - вы рубите сессию мобильного клиента. Т.е. не ждете 15 минут. Рубите по условию. И рубите только то что надо.
делаете левую базу, или прям в той же базе http сервис, и с мобильника раз в минуту делаете запрос на сервер, и на севрере фиксируете - когда был последний пинг, и если он не был - выкидываете, не обязательно через ринг, любой вариант выброса подойдет, их куча.
Автор, есть два понятия в параметрах базы в режиме конфигуратора. Признавать спящим, и завершать спящие .
Спящий лицензии не кушает, кто мешает признавать спящий через 5 минут а убивать его через 3 часа, например. таким образом и сессия восстановится в течении 3 часов у спящего и лицензии не занимаются спящими - мне кажется вся проблема в лицензиях же?
Спящий лицензии не кушает, кто мешает признавать спящий через 5 минут а убивать его через 3 часа, например. таким образом и сессия восстановится в течении 3 часов у спящего и лицензии не занимаются спящими - мне кажется вся проблема в лицензиях же?
Поясню свой ответ. В режиме конфигуратора, в разделе администрирование, далее параметры базы, найти "признавать спящими через" и указать 300 секунд. далее завершать спящие через и указать например 3600 секунд.
Таким образом, если клиент заблочил мобильный то через 5 минут его сеанс освободить лицензию и будет признан спящим и если в течении часа он не возобновит работу, то его сеанс спящий завершится.
По мойму как раз Ваш вариант.
По крайне мере у меня именно так все и работает, и с уверенностью могу сказать что меня это полностью устраивает. Мобильных клиентов более 100 в общей сложности, активных в пиковое время чуть более 50-ти, разные регионы(часовые пояса) раскидывают пользователей по времени очень удачно.
Таким образом, если клиент заблочил мобильный то через 5 минут его сеанс освободить лицензию и будет признан спящим и если в течении часа он не возобновит работу, то его сеанс спящий завершится.
По мойму как раз Ваш вариант.
По крайне мере у меня именно так все и работает, и с уверенностью могу сказать что меня это полностью устраивает. Мобильных клиентов более 100 в общей сложности, активных в пиковое время чуть более 50-ти, разные регионы(часовые пояса) раскидывают пользователей по времени очень удачно.
(9) нет, с лицензиями все нормально и спящие ничуть не напрягают. Прочитайте топик еще раз, если сеанс спит по причине блокировки устройства - пусть спит на здоровье, хоть сутки. А вот если если сеанс остается после завершения работы приложения, то такой сеанс надо убивать. предыдущие методы, к сожалению, не подошли, приложение спит крайне глубоко и в фоне ничего не делает.
(11) Читал вроде бы не через строчку, поэтому и рассказал подробно, как и что настроить что бы убивало, а вот вы видимо прочитали и зацепились за мое предположение за лицензии ))).
У меня настройка в параметрах базы, настраиваемое через конфигуратор, убивать спящие сеансы, которые спят более - (тут надо установить значение) ПРЕКРАСНО убивает любые спящие сеансы без всяких "двойных стандартов" )))
Ну а если Вы придумаете как системе научится понимать, "вне зоны действия устройство" или же просто чувак выкинул свое устройство на помойку - то напишите об этом разрабу - он, я уверен, реализует ваше ноу хау ))))
У меня настройка в параметрах базы, настраиваемое через конфигуратор, убивать спящие сеансы, которые спят более - (тут надо установить значение) ПРЕКРАСНО убивает любые спящие сеансы без всяких "двойных стандартов" )))
Ну а если Вы придумаете как системе научится понимать, "вне зоны действия устройство" или же просто чувак выкинул свое устройство на помойку - то напишите об этом разрабу - он, я уверен, реализует ваше ноу хау ))))
Прикрепленные файлы:
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот