Package x2go :: Module guardian :: Class X2GoSessionGuardian

[frames] | no frames]

# Class 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` Inherited from `object`: `__delattr__`, `__format__`, `__getattribute__`, `__hash__`, `__new__`, `__reduce__`, `__reduce_ex__`, `__setattr__`, `__sizeof__`, `__str__`, `__subclasshook__`

Properties
Inherited from `threading.Thread`: `daemon`, `ident`, `name` Inherited from `object`: `__class__`

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: object.__init__