Привет, я использую UM v5.4. Когда пропадает соединение, возникает проблема — UM не понимает, что сессия остановлена, и сессии пользователей остаются активными в UM. Поэтому, когда связь восстанавливается и пользователи пытаются подключиться, UM говорит, что они не могут, потому что разрешено использовать логин только один раз одновременно. Есть ли решение этой проблемы? Я пытался написать скрипт, но столкнулся с трудностями. Чтобы закрыть сессию, мне нужен номер сессии. Как получить номер сессии?! Вот код:
:local LastSessionUpdate;
:local SessionTimeout;
:foreach i in=[/tool user-manager session find where active=yes] do={
# когда было последнее обновление информации о сессии
:set LastSessionUpdate [/tool user-manager session get $i till-time]
# SessionTimeout — это значение, которое говорит, сколько секунд прошло с момента последнего обновления этой сессии
:set SessionTimeout ([system clock get time] - [:pick $LastSessionUpdate ([:find $LastSessionUpdate " "]+1) [:len $LastSessionUpdate]] - [/system clock get gmt-offset])
# обновления идут каждую минуту, если последнее обновление было более 60 секунд назад — закрыть сессию
:if ($SessionTimeout > 60) do={
# как получить номер сессии??
/tool user-manager session close-session numbers= ???
}
}
Заранее спасибо!
:local LastSessionUpdate;
:local SessionTimeout;
:foreach i in=[/tool user-manager session find where active=yes] do={
# когда было последнее обновление информации о сессии
:set LastSessionUpdate [/tool user-manager session get $i till-time]
# SessionTimeout — это значение, которое говорит, сколько секунд прошло с момента последнего обновления этой сессии
:set SessionTimeout ([system clock get time] - [:pick $LastSessionUpdate ([:find $LastSessionUpdate " "]+1) [:len $LastSessionUpdate]] - [/system clock get gmt-offset])
# обновления идут каждую минуту, если последнее обновление было более 60 секунд назад — закрыть сессию
:if ($SessionTimeout > 60) do={
# как получить номер сессии??
/tool user-manager session close-session numbers= ???
}
}
Заранее спасибо!
