diff options
author | Frederick Muriuki Muriithi | 2023-12-18 12:01:38 +0300 |
---|---|---|
committer | Frederick Muriuki Muriithi | 2023-12-18 12:01:38 +0300 |
commit | d4e45e5bf9877957c36b8e0a537ba3819a674614 (patch) | |
tree | 1850dbe6d2733497501db09e22f9f53daa0f9943 /qc_app/db_utils.py | |
parent | 096ab99a2d961e864f340c39252b4c8eecc72191 (diff) | |
download | gn-uploader-d4e45e5bf9877957c36b8e0a537ba3819a674614.tar.gz |
Samples: Hook-up external async script to upload the samples.
Diffstat (limited to 'qc_app/db_utils.py')
-rw-r--r-- | qc_app/db_utils.py | 9 |
1 files changed, 8 insertions, 1 deletions
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) |