Session Reset/Recovery after recent disconnect
I have been working on some, uhm, well, difficult, prints, so I have been watching them as I go throughout my day. iOS doesn't re-use sessions, and even if I try to keep a browser window open, it often locks up or loses the connection. By the end of several hours, I had apparently run out of sessions as it would not let me log in/open a session for 15-30 minutes. I assume that is the time-out duration for "abandoned" sessions. It obviously recognizes my device as it never asks me to re-login regardless if I am local (on the same sub-net) or coming from outside through my firewall (port forward).
I would like to propose a feature that re-cycles abandoned sessions a bit quicker.
If a session/connection request comes in, look at the IP/session info, and if it matches something recent within the login timeout period, kill (Session.abandon) the old session that got disconnected. If the login/session timeout has been reached, still kill any sessions related to that IP and THEN initiate a re-login on a new clean session.
This SHOULD be easy to implement and should reduce the number of idle unconnected, sessions.
If there is something ELSE going on, please tell me how to test for it, and how to fix that issue please...
I would like to propose a feature that re-cycles abandoned sessions a bit quicker.
If a session/connection request comes in, look at the IP/session info, and if it matches something recent within the login timeout period, kill (Session.abandon) the old session that got disconnected. If the login/session timeout has been reached, still kill any sessions related to that IP and THEN initiate a re-login on a new clean session.
This SHOULD be easy to implement and should reduce the number of idle unconnected, sessions.
If there is something ELSE going on, please tell me how to test for it, and how to fix that issue please...
Comments
But are there webstreams as well on the pages you use? These also have a websocket connection that I will check, but think they also timeout if not served for a while.