rss2/scripts/verify_connectivity.py
2026-01-13 13:39:51 +01:00

54 lines
1.5 KiB
Python

import sys
import os
# Add app to path
sys.path.append('/home/x/rss2')
try:
from db import get_conn, get_read_conn, get_write_conn
from cache import get_redis
import psycopg2
print("Imports successfull.")
except ImportError as e:
print(f"Import failed: {e}")
sys.exit(1)
def test_db():
print("\n--- Testing Database Connections ---")
print("Testing Primary (Write) Connection...")
try:
with get_write_conn() as conn:
with conn.cursor() as cur:
cur.execute("SELECT 1")
print(" [OK] Primary reachable.")
except Exception as e:
print(f" [FAIL] Primary unreachable: {e}")
print("Testing Replica (Read) Connection...")
try:
with get_read_conn() as conn:
with conn.cursor() as cur:
cur.execute("SELECT 1")
# Check if it's actually the replica (read-only mode is usually set in replica,
# but here we just check connectivity)
print(" [OK] Replica reachable.")
except Exception as e:
print(f" [FAIL] Replica unreachable: {e}")
def test_redis():
print("\n--- Testing Redis Connection ---")
try:
r = get_redis()
if r:
r.ping()
print(" [OK] Redis reachable.")
else:
print(" [FAIL] Redis client returned None (likely connection failed).")
except Exception as e:
print(f" [FAIL] Redis error: {e}")
if __name__ == "__main__":
test_db()
test_redis()
print("\nVerification complete.")