about summary refs log tree commit diff
path: root/scripts/rqtl2/entry.py
diff options
context:
space:
mode:
Diffstat (limited to 'scripts/rqtl2/entry.py')
-rw-r--r--scripts/rqtl2/entry.py30
1 files changed, 13 insertions, 17 deletions
diff --git a/scripts/rqtl2/entry.py b/scripts/rqtl2/entry.py
index 327ed2c..e0e00e7 100644
--- a/scripts/rqtl2/entry.py
+++ b/scripts/rqtl2/entry.py
@@ -20,27 +20,23 @@ def build_main(
             [Redis, Connection, str, Namespace, logging.Logger],
             int
         ],
-        loggername: str
+        logger: logging.Logger
 ) -> Callable[[],int]:
     """Build a function to be used as an entry-point for scripts."""
     def main():
-        try:
-            logging.basicConfig(
-                format=(
-                    "%(asctime)s - %(levelname)s %(name)s: "
-                    "(%(pathname)s: %(lineno)d) %(message)s"),
-                level=args.loglevel)
-            logger = logging.getLogger(loggername)
-            with (Redis.from_url(args.redisuri, decode_responses=True) as rconn,
-                  database_connection(args.databaseuri) as dbconn):
-                fqjobid = jobs.job_key(args.redisprefix, args.jobid)
+        with (Redis.from_url(args.redisuri, decode_responses=True) as rconn,
+              database_connection(args.databaseuri) as dbconn):
+            logger.setLevel(args.loglevel.upper())
+            fqjobid = jobs.job_key(args.redisprefix, args.jobid)
+
+            try:
                 rconn.hset(fqjobid, "status", "started")
                 logger.addHandler(setup_redis_logger(
                     rconn,
                     fqjobid,
                     f"{fqjobid}:log-messages",
                     args.redisexpiry))
-                logger.addHandler(StreamHandler(stream=sys.stdout))
+                logger.addHandler(StreamHandler(stream=sys.stderr))
 
                 check_db(args.databaseuri)
                 check_redis(args.redisuri)
@@ -48,15 +44,15 @@ def build_main(
                     logger.error("File not found: '%s'.", args.rqtl2bundle)
                     return 2
 
-                returncode = run_fn(rconn, dbconn, fqjobid, args, logger)
+                returncode = run_fn(rconn, dbconn, fqjobid, args)
                 if returncode == 0:
                     rconn.hset(fqjobid, "status", "completed:success")
                     return returncode
                 rconn.hset(fqjobid, "status", "completed:error")
                 return returncode
-        except Exception as _exc:# pylint: disable=[broad-except]
-            logger.error("The process failed!", exc_info=True)
-            rconn.hset(fqjobid, "status", "completed:error")
-            return 4
+            except Exception as _exc:# pylint: disable=[broad-except]
+                logger.error("The process failed!", exc_info=True)
+                rconn.hset(fqjobid, "status", "completed:error")
+                return 4
 
     return main