Package x2go :: Module guardian :: Class X2GoSessionGuardian
[frames] | no frames]

type X2GoSessionGuardian

source code

        object --+        
                 |        
threading._Verbose --+    
                     |    
      threading.Thread --+
                         |
                        X2GoSessionGuardian

X2GoSessionGuardian thread controls X2Go session threads and their sub-threads (like reverse forwarding tunnels, Paramiko transport threads, etc.). Its main function is to tidy up once a session gets interrupted (SIGTERM, SIGINT).

There is one X2GoSessionGuardian for each X2GoClient instance (thus: for normal setups there should be _one_ X2GoClient and _one_ X2GoSessionGuardian in use).

Instance Methods
 
__init__(self, client_instance, auto_update_listsessions_cache=False, auto_update_listdesktops_cache=False, auto_update_listmounts_cache=False, auto_update_sessionregistry=False, auto_register_sessions=False, no_auto_reg_pubapp_sessions=False, refresh_interval=5, logger=None, loglevel=56)
This constructor should always be called with keyword arguments.
source code
 
guardian(self)
The handler of this X2GoSessionGuardian thread.
source code
 
stop_thread(self)
Stop this X2GoSessionGuardian thread.
source code

Inherited from threading.Thread: __repr__, getName, isAlive, isDaemon, is_alive, join, run, setDaemon, setName, start

Properties

Inherited from threading.Thread: daemon, ident, name

Method Details

__init__(self, client_instance, auto_update_listsessions_cache=False, auto_update_listdesktops_cache=False, auto_update_listmounts_cache=False, auto_update_sessionregistry=False, auto_register_sessions=False, no_auto_reg_pubapp_sessions=False, refresh_interval=5, logger=None, loglevel=56)
(Constructor)

source code 

This constructor should always be called with keyword arguments. Arguments are:

*group* should be None; reserved for future extension when a ThreadGroup class is implemented.

*target* is the callable object to be invoked by the run() method. Defaults to None, meaning nothing is called.

*name* is the thread name. By default, a unique name is constructed of the form "Thread-N" where N is a small decimal number.

*args* is the argument tuple for the target invocation. Defaults to ().

*kwargs* is a dictionary of keyword arguments for the target invocation. Defaults to {}.

If a subclass overrides the constructor, it must make sure to invoke the base class constructor (Thread.__init__()) before doing anything else to the thread.

Parameters:
  • auto_update_listsessions_cache (bool) - let X2GoSessionGuardian refresh the session list cache for all X2GoSession objects
  • auto_update_listdesktops_cache (bool) - let X2GoSessionGuardian refresh desktop lists in the session list cache for all X2GoSession objects
  • auto_update_listmounts_cache (bool) - let X2GoSessionGuardian refresh mount lists in the session list cache for all X2GoSession objects
  • auto_update_sessionregistry (bool) - if set to True the session status will be updated in regular intervals
  • auto_register_sessions (bool) - register new sessions automatically once they appear in the X2Go session (e.g. instantiated by another client that is connected to the same X2Go server under same user ID)
  • no_auto_reg_pubapp_sessions (bool) - do not auto-register published applications sessions
  • refresh_interval (int) - refresh cache and session registry every <refresh_interval> seconds
  • logger (obj) - you can pass an X2GoLogger object to the X2GoSessionGuardian constructor
  • loglevel (int) - if no X2GoLogger object has been supplied a new one will be constructed with the given loglevel
Overrides: threading._Verbose.__init__