From 33ffc2135148c0f77ac867973dab34ba594602fe Mon Sep 17 00:00:00 2001 From: Erik Reid <erik.reid@geant.org> Date: Sat, 29 Jun 2019 20:01:34 +0200 Subject: [PATCH] take redis config from json file through env --- inventory_provider/tasks/worker.py | 28 +++++++++++----------------- 1 file changed, 11 insertions(+), 17 deletions(-) diff --git a/inventory_provider/tasks/worker.py b/inventory_provider/tasks/worker.py index 8779a1d4..6406ad8b 100644 --- a/inventory_provider/tasks/worker.py +++ b/inventory_provider/tasks/worker.py @@ -1,5 +1,6 @@ import json import logging +import os import re from celery import bootsteps, Task, states @@ -61,26 +62,19 @@ def _save_value_etree(key, xml_doc): etree.tostring(xml_doc, encoding='unicode')) -class WorkerArgs(bootsteps.Step): - def __init__(self, worker, config_filename, **options): - with open(config_filename) as f: - logger = logging.getLogger(__name__) - logger.info( - "Initializing worker with config from: %r" % config_filename) - InventoryTask.config = config.load(f) +class LoadConfig(bootsteps.Step): + assert os.path.isfile(os.environ['INVENTORY_PROVIDER_CONFIG_FILENAME']), ( + 'config file %r not found' % + os.environ['INVENTORY_PROVIDER_CONFIG_FILENAME']) + with open(os.environ['INVENTORY_PROVIDER_CONFIG_FILENAME']) as f: + logging.info( + "Initializing worker with config from: %r" % + os.environ['INVENTORY_PROVIDER_CONFIG_FILENAME']) + InventoryTask.config = config.load(f) -def worker_args(parser): - parser.add_argument( - "--config_filename", - dest="config_filename", - action='store', - type=str, - help="Configuration filename") - -app.user_options['worker'].add(worker_args) -app.steps['worker'].add(WorkerArgs) +app.steps['worker'].add(LoadConfig) @app.task -- GitLab