36 lines
1.0 KiB
Python
36 lines
1.0 KiB
Python
import os
|
|
import asyncio
|
|
import requests
|
|
import redis.asyncio as redis
|
|
import psycopg2
|
|
|
|
async def health_check():
|
|
"""Health check for Whisper service"""
|
|
try:
|
|
# Test API endpoint
|
|
response = requests.get("http://localhost:8000/health", timeout=10)
|
|
if response.status_code != 200:
|
|
raise Exception(f"API health check failed: {response.status_code}")
|
|
|
|
# Test Redis connection
|
|
redis_client = redis.from_url(os.getenv('REDIS_URL', 'redis://redis:6379'))
|
|
await redis_client.ping()
|
|
await redis_client.close()
|
|
|
|
# Test PostgreSQL connection
|
|
pg_conn = psycopg2.connect(os.getenv('POSTGRES_URL'))
|
|
cursor = pg_conn.cursor()
|
|
cursor.execute('SELECT 1')
|
|
cursor.close()
|
|
pg_conn.close()
|
|
|
|
print("Health check passed")
|
|
exit(0)
|
|
|
|
except Exception as e:
|
|
print(f"Health check failed: {e}")
|
|
exit(1)
|
|
|
|
if __name__ == "__main__":
|
|
asyncio.run(health_check())
|