# Path: monasca_notification/config.py
# LOG = log.getLogger(__name__)
# CONF = conf.CONF
# _CONF_LOADED = False
#     _CONF_LOADED = True
# def parse_args(argv):
# def _get_config_files():
# 
# Path: monasca_notification/notification_engine.py
# CONF = cfg.CONF
# class NotificationEngine(object):
#     def __init__(self):
#     def _add_periodic_notifications(self, notifications):
#     def run(self):
# 
# Path: monasca_notification/periodic_engine.py
# CONF = cfg.CONF
# class PeriodicEngine(object):
#     def __init__(self, period):
#     def _keep_sending(self, alarm_id, original_state, period):
#     def run(self):
# 
# Path: monasca_notification/retry_engine.py
# CONF = cfg.CONF
# class RetryEngine(object):
#     def __init__(self):
#     def run(self):


import multiprocessing
import os
import signal
import sys
import time
import warnings
from oslo_log import log
from monasca_notification import config
from monasca_notification import notification_engine
from monasca_notification import periodic_engine
from monasca_notification import retry_engine
            pass

    # wait for a couple seconds to give the subprocesses a chance to shut down correctly.
    if wait_for_exit:
        time.sleep(2)

    # Kill everything, that didn't already die
    for child in multiprocessing.active_children():
        LOG.debug('Killing pid %s' % child.pid)
        try:
            os.kill(child.pid, signal.SIGKILL)
        except Exception:  # nosec
            # There is really nothing to do if the kill fails, so just go on.
            # The # nosec keeps bandit from reporting this as a security issue
            pass

    if signum == signal.SIGTERM:
        sys.exit(0)

    sys.exit(signum)


def start_process(process_type, *args):
    LOG.info("start process: {}".format(process_type))
    p = process_type(*args)
    p.run()


def main(argv=None):
    warnings.simplefilter('always')

# Path: monasca_notification/config.py
# LOG = log.getLogger(__name__)
# CONF = conf.CONF
# _CONF_LOADED = False
#     _CONF_LOADED = True
# def parse_args(argv):
# def _get_config_files():
# 
# Path: monasca_notification/notification_engine.py
# CONF = cfg.CONF
# class NotificationEngine(object):
#     def __init__(self):
#     def _add_periodic_notifications(self, notifications):
#     def run(self):
# 
# Path: monasca_notification/periodic_engine.py
# CONF = cfg.CONF
# class PeriodicEngine(object):
#     def __init__(self, period):
#     def _keep_sending(self, alarm_id, original_state, period):
#     def run(self):
# 
# Path: monasca_notification/retry_engine.py
# CONF = cfg.CONF
# class RetryEngine(object):
#     def __init__(self):
#     def run(self):


# Path: monasca_notification/main.py
import multiprocessing
import os
import signal
import sys
import time
import warnings
from oslo_log import log
from monasca_notification import config
from monasca_notification import notification_engine
from monasca_notification import periodic_engine
from monasca_notification import retry_engine

            pass

    # wait for a couple seconds to give the subprocesses a chance to shut down correctly.
    if wait_for_exit:
        time.sleep(2)

    # Kill everything, that didn't already die
    for child in multiprocessing.active_children():
        LOG.debug('Killing pid %s' % child.pid)
        try:
            os.kill(child.pid, signal.SIGKILL)
        except Exception:  # nosec
            # There is really nothing to do if the kill fails, so just go on.
            # The # nosec keeps bandit from reporting this as a security issue
            pass

    if signum == signal.SIGTERM:
        sys.exit(0)

    sys.exit(signum)


def start_process(process_type, *args):
    LOG.info("start process: {}".format(process_type))
    p = process_type(*args)
    p.run()


def main(argv=None):
    warnings.simplefilter('always')

    config.parse_args(argv=argv)