# 2026-03-21 — chaos-slowquery: намеренно медленный запрос через pg_sleep. # Тестирует: timeout enforcement — платформа должна прервать запрос если > timeout_sec. # sleep_sec cap = 8 (меньше timeout_sec=10 сервиса → успех; >10 → таймаут платформы). import os, psycopg2 def slowquery(event): sleep_sec = min(float(event.get("sleep_sec", 2.0)), 8.0) conn = psycopg2.connect( host=os.environ["PGHOST"], port=int(os.environ.get("PGPORT", 5432)), dbname=os.environ["PGDATABASE"], user=os.environ["PGUSER"], password=os.environ["PGPASSWORD"], sslmode=os.environ.get("PGSSLMODE", "require"), ) try: with conn.cursor() as cur: cur.execute("SELECT pg_sleep(%s), now()::text", (sleep_sec,)) result = cur.fetchone() return {"slept_sec": sleep_sec, "pg_now": result[1]} finally: conn.close()