Skip to content
Snippets Groups Projects
Commit 0af4b9b4 authored by Robert Rosca's avatar Robert Rosca
Browse files

main function takes in `argv` as an optional argument and uses `sys.argv` if...

main function takes in `argv` as an optional argument and uses `sys.argv` if it is missing. This allows for easier testing.
parent dc9f92e4
No related branches found
No related tags found
No related merge requests found
...@@ -8,7 +8,9 @@ import inspect ...@@ -8,7 +8,9 @@ import inspect
import json import json
import logging import logging
import os import os
import shutil
import sqlite3 import sqlite3
import sys
import time import time
import urllib.parse import urllib.parse
from asyncio import get_event_loop, shield from asyncio import get_event_loop, shield
...@@ -22,9 +24,9 @@ import yaml ...@@ -22,9 +24,9 @@ import yaml
import zmq import zmq
import zmq.asyncio import zmq.asyncio
import zmq.auth.thread import zmq.auth.thread
from git import InvalidGitRepositoryError, Repo
from kafka import KafkaProducer from kafka import KafkaProducer
from kafka.errors import KafkaError from kafka.errors import KafkaError
from git import InvalidGitRepositoryError, Repo
from metadata_client.metadata_client import MetadataClient from metadata_client.metadata_client import MetadataClient
try: try:
...@@ -1199,25 +1201,36 @@ class ActionsServer: ...@@ -1199,25 +1201,36 @@ class ActionsServer:
# return string without a tailing comma. # return string without a tailing comma.
return ", ".join(ret), report return ", ".join(ret), report
parser = argparse.ArgumentParser(
description='Start the calibration webservice') def main(argv: Optional[List[str]] = None):
parser.add_argument('--config-file', type=str, default='./webservice.yaml') if argv is None:
parser.add_argument('--log-file', type=str, default='./web.log') argv = sys.argv[1:]
parser.add_argument('--mode', type=str, default="sim", choices=['sim', 'prod'])
parser.add_argument('--logging', type=str, default="INFO", parser = argparse.ArgumentParser(
choices=['INFO', 'DEBUG', 'ERROR']) description='Start the calibration webservice'
)
def main(): parser.add_argument('--config-file', type=str, default='./webservice.yaml')
args = vars(parser.parse_args()) parser.add_argument('--mode', type=str, default="sim", choices=['sim', 'prod'])
conf_file = args["config_file"] parser.add_argument('--log-file', type=str, default='./web.log')
with open(conf_file, "r") as f: parser.add_argument(
config = yaml.load(f.read(), Loader=yaml.FullLoader) '--log-level', type=str, default="INFO", choices=['INFO', 'DEBUG', 'ERROR']
mode = args["mode"] )
logfile = args["log_file"]
args = parser.parse_args(argv)
config_file = args.config_file
log_file = args.log_file
log_level = args.log_level
mode = args.mode
with open(config_file, "r") as f:
config = yaml.safe_load(f.read())
fmt = '%(asctime)s - %(name)s - %(levelname)s - %(message)s' fmt = '%(asctime)s - %(name)s - %(levelname)s - %(message)s'
logging.basicConfig(filename=logfile, logging.basicConfig(
level=getattr(logging, args['logging']), filename=log_file,
format=fmt) level=getattr(logging, log_level),
format=fmt
)
# Update job statuses from Slurm in a separate thread # Update job statuses from Slurm in a separate thread
slurm_monitor_thread = Thread( slurm_monitor_thread = Thread(
......
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