Server : Apache/2.4.18 (Ubuntu) System : Linux canvaswebdesign 3.13.0-71-generic #114-Ubuntu SMP Tue Dec 1 02:34:22 UTC 2015 x86_64 User : oppastar ( 1041) PHP Version : 7.0.33-0ubuntu0.16.04.15 Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority, Directory : /usr/lib/python2.7/dist-packages/landscape/monitor/ |
Upload File : |
"""The Landscape monitor plugin system.""" import os from landscape.broker.client import BrokerClient class Monitor(BrokerClient): """The central point of integration in the Landscape monitor.""" name = "monitor" def __init__(self, reactor, config, persist, persist_filename=None, step_size=5 * 60): super(Monitor, self).__init__(reactor, config) self.reactor = reactor self.config = config self.persist = persist self.persist_filename = persist_filename if persist_filename and os.path.exists(persist_filename): self.persist.load(persist_filename) self._plugins = [] self.step_size = step_size self.reactor.call_every(self.config.flush_interval, self.flush) def flush(self): """Flush data to disk.""" if self.persist_filename: self.persist.save(self.persist_filename) def exchange(self): """Call C{exchange} on all plugins.""" super(Monitor, self).exchange() self.flush()