def main(): """ The main MokshaHub method """ setup_logger('-v' in sys.argv or '--verbose' in sys.argv) config_path = get_moksha_config_path() if not config_path: print """ Cannot find Moksha configuration! Place a development.ini or production.ini in /etc/moksha or in the current directory. """ return cfg = appconfig('config:' + config_path) config.update(cfg) hub = CentralMokshaHub() global _hub _hub = hub def handle_signal(signum, stackframe): from moksha.hub.reactor import reactor if signum in [signal.SIGHUP, signal.SIGINT]: hub.stop() try: reactor.stop() except ReactorNotRunning: pass signal.signal(signal.SIGHUP, handle_signal) signal.signal(signal.SIGINT, handle_signal) log.info("Running the MokshaHub reactor") reactor.run(installSignalHandlers=False) log.info("MokshaHub reactor stopped")
def main(options=None, consumers=None, producers=None, framework=True): """ The main MokshaHub method """ # If we're running as a framework, then we're strictly calling other # people's code. So, as the outermost piece of software in the stack, we're # responsible for setting up logging. # If we're not running as a framework, but as a library, then someone else # is calling us. Therefore, we'll let them set up the logging themselves. if framework: setup_logger('-v' in sys.argv or '--verbose' in sys.argv) config = {} if not options: if sys.argv[-1].endswith('.ini'): config_path = os.path.abspath(sys.argv[-1]) else: config_path = get_moksha_config_path() if not config_path: print NO_CONFIG_MESSAGE return cfg = appconfig('config:' + config_path) config.update(cfg) else: config.update(options) hub = CentralMokshaHub(config, consumers=consumers, producers=producers) global _hub _hub = hub def handle_signal(signum, stackframe): from moksha.hub.reactor import reactor if signum in [signal.SIGHUP, signal.SIGINT]: hub.stop() try: reactor.stop() except ReactorNotRunning: pass signal.signal(signal.SIGHUP, handle_signal) signal.signal(signal.SIGINT, handle_signal) log.info("Running the MokshaHub reactor") from moksha.hub.reactor import reactor reactor.run(installSignalHandlers=False) log.info("MokshaHub reactor stopped")
def main(options=None, consumers=None, producers=None): """ The main MokshaHub method """ setup_logger('-v' in sys.argv or '--verbose' in sys.argv) config = {} if not options: if sys.argv[-1].endswith('.ini'): config_path = os.path.abspath(sys.argv[-1]) else: config_path = get_moksha_config_path() if not config_path: print NO_CONFIG_MESSAGE return cfg = appconfig('config:' + config_path) config.update(cfg) else: config.update(options) hub = CentralMokshaHub(config, consumers=consumers, producers=producers) global _hub _hub = hub def handle_signal(signum, stackframe): from moksha.hub.reactor import reactor if signum in [signal.SIGHUP, signal.SIGINT]: hub.stop() try: reactor.stop() except ReactorNotRunning: pass signal.signal(signal.SIGHUP, handle_signal) signal.signal(signal.SIGINT, handle_signal) log.info("Running the MokshaHub reactor") from moksha.hub.reactor import reactor reactor.run(installSignalHandlers=False) log.info("MokshaHub reactor stopped")