Generalized a lot of launching logic into the saas launcher away from the hosted installation script: mm2.py.
This commit is contained in:
parent
c43dbe42a8
commit
11a43eb891
|
@ -1,7 +1,11 @@
|
|||
import os
|
||||
import os, sys
|
||||
|
||||
from media.monitor.exceptions import FailedToObtainLocale, \
|
||||
FailedToSetLocale
|
||||
|
||||
from media.saas.thread import InstanceThread, user, apc
|
||||
from media.monitor.log import Loggable
|
||||
import media.monitor.pure as mmp
|
||||
from media.monitor.exceptions import CouldNotCreateIndexFile
|
||||
from media.monitor.toucher import ToucherThread
|
||||
from media.monitor.airtime import AirtimeNotifier, \
|
||||
|
@ -9,6 +13,7 @@ from media.monitor.airtime import AirtimeNotifier, \
|
|||
from media.monitor.watchersyncer import WatchSyncer
|
||||
from media.monitor.eventdrainer import EventDrainer
|
||||
from media.monitor.manager import Manager
|
||||
from media.saas.airtimeinstance import AirtimeInstance
|
||||
|
||||
class MM2(InstanceThread, Loggable):
|
||||
|
||||
|
@ -73,3 +78,28 @@ class MM2(InstanceThread, Loggable):
|
|||
apiclient.register_component('media-monitor')
|
||||
|
||||
manager.loop()
|
||||
|
||||
def launch_instance(name, root, global_cfg, apc_cfg, log_cfg):
|
||||
cfg = {
|
||||
'api_client' : apc_cfg,
|
||||
'media_monitor' : global_cfg,
|
||||
'logging' : log_cfg,
|
||||
}
|
||||
ai = AirtimeInstance('name', 'root', cfg)
|
||||
MM2(ai).start()
|
||||
|
||||
def setup_global(log):
|
||||
""" setup unicode and other stuff """
|
||||
log.info("Attempting to set the locale...")
|
||||
try: mmp.configure_locale(mmp.get_system_locale())
|
||||
except FailedToSetLocale as e:
|
||||
log.info("Failed to set the locale...")
|
||||
sys.exit(1)
|
||||
except FailedToObtainLocale as e:
|
||||
log.info("Failed to obtain the locale form the default path: \
|
||||
'/etc/default/locale'")
|
||||
sys.exit(1)
|
||||
except Exception as e:
|
||||
log.info("Failed to set the locale for unknown reason. \
|
||||
Logging exception.")
|
||||
log.info(str(e))
|
||||
|
|
|
@ -5,13 +5,10 @@ import logging
|
|||
import logging.config
|
||||
|
||||
from media.monitor.log import get_logger, setup_logging
|
||||
from media.monitor.exceptions import FailedToObtainLocale, \
|
||||
FailedToSetLocale
|
||||
from std_err_override import LogWriter
|
||||
from media.saas.launcher import MM2
|
||||
from media.saas.launcher import setup_global, launch_instance
|
||||
from media.saas.airtimeinstance import AirtimeInstance
|
||||
|
||||
import media.monitor.pure as mmp
|
||||
from media.monitor.config import MMConfig
|
||||
|
||||
def setup_logger(log_config, logpath):
|
||||
logging.config.fileConfig(log_config)
|
||||
|
@ -24,35 +21,13 @@ def setup_logger(log_config, logpath):
|
|||
log = get_logger()
|
||||
return log
|
||||
|
||||
def setup_global(log):
|
||||
""" setup unicode and other stuff """
|
||||
log.info("Attempting to set the locale...")
|
||||
try: mmp.configure_locale(mmp.get_system_locale())
|
||||
except FailedToSetLocale as e:
|
||||
log.info("Failed to set the locale...")
|
||||
sys.exit(1)
|
||||
except FailedToObtainLocale as e:
|
||||
log.info("Failed to obtain the locale form the default path: \
|
||||
'/etc/default/locale'")
|
||||
sys.exit(1)
|
||||
except Exception as e:
|
||||
log.info("Failed to set the locale for unknown reason. \
|
||||
Logging exception.")
|
||||
log.info(str(e))
|
||||
|
||||
def main(global_config, api_client_config, log_config):
|
||||
cfg = {
|
||||
'api_client' : api_client_config,
|
||||
'media_monitor' : global_config,
|
||||
'logging' : log_config,
|
||||
}
|
||||
ai = AirtimeInstance('hosted_install', '/', cfg)
|
||||
log = setup_logger( log_config, ai.mm_config['logpath'] )
|
||||
""" function to run hosted install """
|
||||
mm_config = MMConfig(global_config)
|
||||
log = setup_logger( log_config, mm_config['logpath'] )
|
||||
setup_global(log)
|
||||
run_instance(ai)
|
||||
|
||||
def run_instance(airtime_intance):
|
||||
MM2(airtime_intance).start()
|
||||
launch_instance('hosted_install', '/', global_config, api_client_config,
|
||||
log_config)
|
||||
|
||||
__doc__ = """
|
||||
Usage:
|
||||
|
|
Loading…
Reference in New Issue