diff --git a/squirro/common/context.py b/squirro/common/context.py
index 2cf2b42..9bdaf40 100644
--- a/squirro/common/context.py
+++ b/squirro/common/context.py
@@ -14,6 +14,7 @@ from importlib import import_module
 from typing import TYPE_CHECKING, Iterable, Optional, Union
 
 import certifi
+from octopus.clients import init_redis_client
 
 from .cache import setup_caches
 from .config import ConfigurationHandler, get_config
@@ -649,16 +650,18 @@ def _setup_redis(redis_section):
 
     ssl_parameters = get_redis_ssl_parameters(redis_section)
 
-    redis_client = redis.StrictRedis(
-        host=_resolve_redis_config(redis_section, "host"),
-        port=_resolve_redis_config(redis_section, "port", int),
-        username=_resolve_redis_config(redis_section, "username"),
-        password=_resolve_redis_config(redis_section, "password"),
-        db=_resolve_redis_config(redis_section, "db", int),
-        retry_on_timeout=True,
-        decode_responses=_resolve_redis_config(
+    args = {
+        "username": _resolve_redis_config(redis_section, "username"),
+        "retry_on_timeout": True,
+        "decode_responses": _resolve_redis_config(
             redis_section, "decode_responses", bool, True
         ),
+    }
+    redis_client = init_redis_client(
+        _resolve_redis_config(redis_section, "port", int),
+        _resolve_redis_config(redis_section, "password"),
+        _resolve_redis_config(redis_section, "db", int),
+        **args,
         **ssl_parameters,
     )
 
diff --git a/squirro/common/queue.py b/squirro/common/queue.py
index ac9ba50..ae6f99d 100644
--- a/squirro/common/queue.py
+++ b/squirro/common/queue.py
@@ -631,15 +631,22 @@ class ConnectionPoolFactory:
 
         # assemble data source name
         options = {"visibility_timeout": visibility_timeout_secs}
-        conn = Connection(
-            hostname=host,
-            password=password,
-            port=port,
-            transport="redis",
-            virtual_host=str(db),
-            transport_options=options,
-            ssl=ssl_params,
-        )
+        args = {
+            "password": password,
+            "port": port,
+            "virtual_host": str(db),
+            "transport_options": options,
+            "ssl": ssl_params,
+        }
+        if "," in host:
+            host = ";".join([f"sentinel://{h}:26379" for h in host.split(",")])
+            args["transport_options"]["master_name"] = (
+                "redis-server-master" if port == 6379 else "redis-cache-master"
+            )
+        else:
+            args["transport"] = "redis"
+        args["hostname"] = host
+        conn = Connection(**args)
         pool = connections[conn]
         register_instance(register_instance_as, pool)
         return pool
