about summary refs log tree commit diff
path: root/gn3/api/correlation.py
diff options
context:
space:
mode:
Diffstat (limited to 'gn3/api/correlation.py')
-rw-r--r--gn3/api/correlation.py29
1 files changed, 19 insertions, 10 deletions
diff --git a/gn3/api/correlation.py b/gn3/api/correlation.py
index c77dd93..3667a24 100644
--- a/gn3/api/correlation.py
+++ b/gn3/api/correlation.py
@@ -1,5 +1,6 @@
 """Endpoints for running correlations"""
 import sys
+import logging
 from functools import reduce
 
 import redis
@@ -8,14 +9,14 @@ from flask import Blueprint
 from flask import request
 from flask import current_app
 
-from gn3.settings import SQL_URI
 from gn3.db_utils import database_connection
 from gn3.commands import run_sample_corr_cmd
 from gn3.responses.pcorrs_responses import build_response
-from gn3.commands import run_async_cmd, compose_pcorrs_command
 from gn3.computations.correlations import map_shared_keys_to_values
 from gn3.computations.correlations import compute_tissue_correlation
 from gn3.computations.correlations import compute_all_lit_correlation
+from gn3.commands import (
+    run_async_cmd, compute_job_queue, compose_pcorrs_command)
 
 correlation = Blueprint("correlation", __name__)
 
@@ -88,6 +89,7 @@ def compute_tissue_corr(corr_method="pearson"):
 
     return jsonify(results)
 
+
 @correlation.route("/partial", methods=["POST"])
 def partial_correlation():
     """API endpoint for partial correlations."""
@@ -111,9 +113,9 @@ def partial_correlation():
     args = request.get_json()
     with_target_db = args.get("with_target_db", True)
     request_errors = __errors__(
-            args, ("primary_trait", "control_traits",
-                   ("target_db" if with_target_db else "target_traits"),
-                   "method"))
+        args, ("primary_trait", "control_traits",
+               ("target_db" if with_target_db else "target_traits"),
+               "method"))
     if request_errors:
         return build_response({
             "status": "error",
@@ -127,7 +129,7 @@ def partial_correlation():
                 tuple(
                     trait_fullname(trait) for trait in args["control_traits"]),
                 args["method"], target_database=args["target_db"],
-                criteria = int(args.get("criteria", 500)))
+                criteria=int(args.get("criteria", 500)))
         else:
             command = compose_pcorrs_command(
                 trait_fullname(args["primary_trait"]),
@@ -137,10 +139,17 @@ def partial_correlation():
                     trait_fullname(trait) for trait in args["target_traits"]))
 
         queueing_results = run_async_cmd(
-                conn=conn,
-                cmd=command,
-                job_queue=current_app.config.get("REDIS_JOB_QUEUE"),
-                env = {"PYTHONPATH": ":".join(sys.path), "SQL_URI": SQL_URI})
+            conn=conn,
+            cmd=command,
+            job_queue=compute_job_queue(current_app),
+            options={
+                "env": {
+                    "PYTHONPATH": ":".join(sys.path),
+                    "SQL_URI": current_app.config["SQL_URI"]
+                },
+            },
+            log_level=logging.getLevelName(
+                current_app.logger.getEffectiveLevel()).lower())
         return build_response({
             "status": "success",
             "results": queueing_results,