Moved databases from tasks to own concept because they need persistent connections. Tasks do now allow this. (0.24.0)
This commit is contained in:
parent
21c684bfbc
commit
52b0c6b509
9 changed files with 62 additions and 28 deletions
|
|
@ -19,7 +19,7 @@ from linspector.environment import Environment
|
|||
from linspector.linspector import Linspector
|
||||
from linspector.monitors import Monitors
|
||||
|
||||
__version__ = '0.23.2'
|
||||
__version__ = '0.24.0'
|
||||
__author__ = 'Johannes Findeisen <you@hanez.org>'
|
||||
|
||||
|
||||
|
|
@ -48,6 +48,7 @@ def parse_args():
|
|||
|
||||
def linspector():
|
||||
args = parse_args()
|
||||
databases = {}
|
||||
monitors = {}
|
||||
notifications = {}
|
||||
plugins = {}
|
||||
|
|
@ -103,24 +104,40 @@ def linspector():
|
|||
environment = Environment(log)
|
||||
|
||||
try:
|
||||
if configuration.get_option('linspector', 'tasks'):
|
||||
log.info(configuration.get_option('linspector', 'tasks'))
|
||||
if configuration.get_option('linspector', 'databases'):
|
||||
log.info('Loading databases: ' + configuration.get_option('linspector', 'databases'))
|
||||
database_list = configuration.get_option('linspector', 'databases')
|
||||
database_list = database_list.split(',')
|
||||
for database_name in database_list:
|
||||
database_package = 'linspector.databases.' + database_name
|
||||
if importlib.util.find_spec(database_package) is not None:
|
||||
database_module = importlib.import_module(database_package)
|
||||
database_object = database_module.create(configuration, environment, log)
|
||||
databases[database_name] = database_object
|
||||
else:
|
||||
log.warning('initialization of database: {0} failed! seems it does not exist.'.
|
||||
format(database_name))
|
||||
except Exception as err:
|
||||
log.warning('database initialization error: {0}'.format(err))
|
||||
|
||||
try:
|
||||
if configuration.get_option('linspector', 'tasks'):
|
||||
log.info('Loading tasks: ' + configuration.get_option('linspector', 'tasks'))
|
||||
task_list = configuration.get_option('linspector', 'tasks')
|
||||
task_list = task_list.split(',')
|
||||
for task_name in task_list:
|
||||
task_package = 'linspector.tasks.' + task_name
|
||||
if importlib.util.find_spec(task_package) is not None:
|
||||
task_module = importlib.import_module(task_package)
|
||||
task = task_module.create(configuration, environment, log)
|
||||
tasks[task_name] = task
|
||||
task_object = task_module.create(configuration, environment, log)
|
||||
tasks[task_name] = task_object
|
||||
else:
|
||||
log.warning('initialization of task: {0} failed! seems it does not exist.'.format(task_name))
|
||||
except Exception as err:
|
||||
log.warning('task initialization error: {0}'.format(err))
|
||||
|
||||
try:
|
||||
monitors = Monitors(configuration, environment, log, notifications, services, tasks)
|
||||
monitors = Monitors(configuration, databases, environment, log, notifications, services, tasks)
|
||||
except Exception as err:
|
||||
log.warning('monitor initialization error: {0}'.format(err))
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue