#!/usr/bin/env python3
"""
Script para executar a API em modo daemon
"""
import subprocess
import time
import sys
import os

print("🚀 Iniciando API de Predição de Glosas...")

# Verifica se já está rodando
try:
    import requests
    response = requests.get('http://localhost:8010/health', timeout=2)
    if response.status_code == 200:
        print("✅ API já está rodando na porta 8010!")
        print("📌 Acesse: http://localhost:8010/")
        sys.exit(0)
except:
    pass

# Inicia o servidor em background
env = os.environ.copy()
env['PORT'] = '8010'

process = subprocess.Popen(
    [sys.executable, 'api_server.py'],
    env=env,
    stdout=subprocess.PIPE,
    stderr=subprocess.PIPE
)

print("⏳ Aguardando API inicializar...")
time.sleep(3)

# Verifica se iniciou
try:
    import requests
    response = requests.get('http://localhost:8010/health', timeout=5)
    if response.status_code == 200:
        print("✅ API iniciada com sucesso!")
        print("📌 Acesse: http://localhost:8010/")
        print(f"🔧 PID do processo: {process.pid}")
        print("\n📡 Endpoints disponíveis:")
        print("   GET  http://localhost:8010/")
        print("   GET  http://localhost:8010/health")
        print("   GET  http://localhost:8010/modelos")
        print("   POST http://localhost:8010/predizer")
        print("\n💡 Para parar: kill", process.pid)
    else:
        print("❌ API iniciou mas não está respondendo corretamente")
except Exception as e:
    print(f"❌ Erro ao verificar API: {e}")
    print("Verifique os logs do processo")

# Salva PID
with open('.api_pid', 'w') as f:
    f.write(str(process.pid))