54 lines
1.5 KiB
Python
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.")
|