No veo el problema con usar el código de siempre
Explico lo siguiente:
Cita: usuario A inicia la sesión 1
usuario B inicia sesión 2
ya tenes 2 sesiones
Ahora, A cierra la venta y no termina la sesión
seguis teniendo la 2 sessiones
usuario C inicia sesión 3
tenes 3 sesiones
después de 20 min la sessión 1 se cancela
ahora tenes 2 sesiones
Aún cuando el usuario no haga click en el enlace salir, cerrar o logout la sesión va terminar por falta de actividad, lo mismo pasa si abres la sesión en una cuenta y durante 20 min no realizas ninguna actividad.
Lo que tienes que haces es programar los eventos de inicio y fin de sesión.
Saludes