Skip to content
Snippets Groups Projects
Commit 13044021 authored by Erik Reid's avatar Erik Reid
Browse files

setup logging

parent 56cf8b65
No related branches found
No related tags found
No related merge requests found
"""
standalone process that monitors celery task events and
writes them to redis for reporting
as with the other processes, INVENTORY_PROVIDER_CONFIG_FILENAME
must be defined in the environment
"""
import json
import logging
import os
from inventory_provider import config, environment
from inventory_provider.tasks.worker import app
from inventory_provider.tasks.common import get_current_redis
from threading import Thread
logger = logging.getLogger(__name__)
INFO_EVENT_TYPES = ('task-info', 'task-warning', 'task-error')
def _monitor_proc(config):
def run():
"""
save 'task-*' events to redis, never returns
"""
environment.setup_logging()
with open(os.environ['INVENTORY_PROVIDER_CONFIG_FILENAME']) as f:
logging.info(
'loading config from: %r'
% os.environ['INVENTORY_PROVIDER_CONFIG_FILENAME'])
config_params = config.load(f)
state = app.events.State()
......@@ -23,26 +40,20 @@ def _monitor_proc(config):
if event['type'] in INFO_EVENT_TYPES:
key += f':{event["clock"]}'
r = get_current_redis(config)
r = get_current_redis(config_params)
r.set(key, json.dumps(event))
logger.debug(f'{key}: {json.dumps(event)}')
with app.connection() as connection:
recv = app.events.Receiver(connection, handlers={
'*': _log_event,
'*': _log_event
})
recv.capture(limit=None, timeout=None, wakeup=True)
def start_monitoring():
thread = Thread(target=_monitor_proc, args=())
thread.start()
def clear_joblog(r):
"""
:param r:
:return:
"""
......@@ -53,17 +64,5 @@ def clear_joblog(r):
if __name__ == '__main__':
import os
from inventory_provider import config
logging.basicConfig(level=logging.DEBUG)
filename = os.path.join(
os.path.dirname(__file__),
'..',
'config-sentinel.json')
with open(filename) as f:
params = config.load(f)
_monitor_proc(params)
run()
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment