diff options
author | Frederick Muriuki Muriithi | 2024-01-22 09:27:58 +0300 |
---|---|---|
committer | Frederick Muriuki Muriithi | 2024-01-22 09:27:58 +0300 |
commit | 6ca397279e09d968679930f429d6341798be990e (patch) | |
tree | f861aa460b089c787a9b1420cf1dcb998aeca151 /scripts/process_rqtl2_bundle.py | |
parent | f875926183e2e26881c3288e2f5c3d8ffe6397b8 (diff) | |
download | gn-uploader-6ca397279e09d968679930f429d6341798be990e.tar.gz |
scripts: Pass in logger to get detailed updates.
Diffstat (limited to 'scripts/process_rqtl2_bundle.py')
-rw-r--r-- | scripts/process_rqtl2_bundle.py | 24 |
1 files changed, 14 insertions, 10 deletions
diff --git a/scripts/process_rqtl2_bundle.py b/scripts/process_rqtl2_bundle.py index feb5e19..7b114cf 100644 --- a/scripts/process_rqtl2_bundle.py +++ b/scripts/process_rqtl2_bundle.py @@ -2,10 +2,10 @@ import sys import uuid import json -import logging import traceback from typing import Any from pathlib import Path +from logging import Logger, getLogger, StreamHandler import MySQLdb as mdb from redis import Redis @@ -20,11 +20,6 @@ from scripts.redis_logger import setup_redis_logger from scripts.rqtl2.install_phenos import install_pheno_files from scripts.rqtl2.install_genotypes import install_genotypes -stderr_handler = logging.StreamHandler(stream=sys.stderr) -logger = logging.getLogger("process_rqtl2_bundle") -logger.setLevel("DEBUG") -logger.addHandler(stderr_handler) - def safe_json_decode(value: str) -> Any: """Safely decode the string values into JSON.""" try: @@ -54,7 +49,10 @@ def percent_completion(geno: float, pheno: float) -> float: """Compute the total completion percent.""" return 0.5 * (geno + pheno) -def process_bundle(dbconn: mdb.Connection, rconn: Redis, jobid: uuid.UUID) -> int: +def process_bundle(dbconn: mdb.Connection, + rconn: Redis, + jobid: uuid.UUID, + logger: Logger) -> int: """Process the R/qtl2 bundle.""" try: thejob = parse_job(rconn, jobid) @@ -69,7 +67,8 @@ def process_bundle(dbconn: mdb.Connection, rconn: Redis, jobid: uuid.UUID) -> in meta["speciesid"], meta["populationid"], meta["geno-dataset-id"], - Path(meta["rqtl2-bundle-file"])) + Path(meta["rqtl2-bundle-file"]), + logger) if genoexit != 0: raise Exception("Processing 'geno' file failed.") logger.debug( @@ -83,7 +82,8 @@ def process_bundle(dbconn: mdb.Connection, rconn: Redis, jobid: uuid.UUID) -> in meta["speciesid"], meta["platformid"], meta["probe-dataset-id"], - Path(meta["rqtl2-bundle-file"])) + Path(meta["rqtl2-bundle-file"]), + logger) if phenoexit != 0: raise Exception("Processing 'pheno' file failed.") logger.debug( @@ -109,13 +109,17 @@ if __name__ == "__main__": check_db(args.databaseuri) check_redis(args.redisuri) + logger = getLogger("process_rqtl2_bundle") + logger.addHandler(StreamHandler(stream=sys.stderr)) + logger.setLevel("DEBUG") + jobid = args.jobid with (database_connection(args.databaseuri) as dbconn, Redis.from_url(args.redisuri, decode_responses=True) as rconn): logger.addHandler(setup_redis_logger( rconn, jobid, f"{str(jobid)}:log-messages", args.redisexpiry)) - exitcode = process_bundle(dbconn, rconn, args.jobid) + exitcode = process_bundle(dbconn, rconn, args.jobid, logger) rconn.hset(str(args.jobid), "percent", "100") return exitcode |