summaryrefslogtreecommitdiffstats
path: root/src/ogRest.py
diff options
context:
space:
mode:
authorAlejandro Sirgo Rica <asirgo@soleta.eu>2024-11-13 19:41:20 +0100
committerAlejandro Sirgo Rica <asirgo@soleta.eu>2024-11-26 13:02:45 +0100
commita36c4daa23d32aeee9539374aa591152ef2c914b (patch)
treeb31459ed9704dfc0ba7e6e98a0514e0c6c068249 /src/ogRest.py
parenta1bd0c36f3be137e908540e5ea50354fd9293ca3 (diff)
src: add user session detection implementation
Detect user login and logout for Linux and Windows. Report an active interactive session through the /refresh response so a new ogserver instance can update the session status. Poll the session change in 5 second intervals in a thread. Use the same event socket previously used by the old session detection mechanism to notify a session change. Use the method check_interactive_session_change in each ogOperations.py to report the session status. Return values: None: no session changes are found True: login False: logout Windows Verify if psutil.users() has any value. Linux Verify all the psutil.users() asociated to a terminal.
Diffstat (limited to 'src/ogRest.py')
-rw-r--r--src/ogRest.py3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/ogRest.py b/src/ogRest.py
index 7511c76..5731350 100644
--- a/src/ogRest.py
+++ b/src/ogRest.py
@@ -443,3 +443,6 @@ class ogRest():
def process_refresh(self, client):
threading.Thread(target=ogThread.refresh, args=(client, self,)).start()
+
+ def check_interactive_session_change(self):
+ return self.operations.check_interactive_session_change()