Пример #1
0
def run_rules(cfg):
    plugins = {}
    rules = cfg.get('rules', [])

    for i, rule in enumerate(rules):
        rule['id'] = i + 1
        module_name = rule["type"]
        if module_name in plugins:
            continue

        f, filename, desc = imp.find_module(module_name, [config.plugins_path, config.user_plugins_path])
        module = imp.load_module(module_name, f, filename, desc)
        plugins[module_name] = module
        logging.info("load plugins:%s %s", module_name, filename)

        if hasattr(module, "init"):
            module.init(cfg)

    rule_runner.runall(rules, cfg, plugins)
Пример #2
0
#! /usr/bin/env python
# -*- coding: utf-8 -*-
# import daemon
import time
import logging

import config
import utils
import sender
import rule_runner

utils.init_logger(config.log_dir, config.log_level, config.log_console)
logging.info("zoro start")

utils.init_for_setup()

zorocfg = utils.load_user_config(config.user_config_path)
sender.init(zorocfg)
rule_runner.init(zorocfg)
rule_runner.runall(zorocfg)

time.sleep(10000)

# TODO
# with daemon.DaemonContext():
#     while True:
#         time.sleep(1)