From d4e45e5bf9877957c36b8e0a537ba3819a674614 Mon Sep 17 00:00:00 2001 From: Frederick Muriuki Muriithi Date: Mon, 18 Dec 2023 12:01:38 +0300 Subject: Samples: Hook-up external async script to upload the samples. --- qc_app/db_utils.py | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) (limited to 'qc_app/db_utils.py') diff --git a/qc_app/db_utils.py b/qc_app/db_utils.py index 75b6b73..ef26398 100644 --- a/qc_app/db_utils.py +++ b/qc_app/db_utils.py @@ -2,10 +2,11 @@ import logging import traceback import contextlib +from urllib.parse import urlparse from typing import Any, Tuple, Optional, Iterator, Callable -from urllib.parse import urlparse import MySQLdb as mdb +from redis import Redis from flask import current_app as app def parse_db_url(db_url) -> Tuple: @@ -37,3 +38,9 @@ def with_db_connection(func: Callable[[mdb.Connection], Any]) -> Any: """Call `func` with a MySQDdb database connection.""" with database_connection(app.config["SQL_URI"]) as conn: return func(conn) + +def with_redis_connection(func: Callable[[Redis], Any]) -> Any: + """Call `func` with a redis connection.""" + redisuri = app.config["REDIS_URL"] + with Redis.from_url(redisuri, decode_responses=True) as rconn: + return func(rconn) -- cgit v1.2.3