""" keep_alive.py خادم HTTP بسيط على بورت 8080 يُستخدم فقط لإبقاء الـ Space نشطًا. يمكن لأي خدمة ping خارجية (UptimeRobot, cron-job.org) أن تطرقه كل 5 دقائق. """ from http.server import HTTPServer, BaseHTTPRequestHandler import threading import logging logger = logging.getLogger(__name__) class PingHandler(BaseHTTPRequestHandler): def do_GET(self): self.send_response(200) self.send_header("Content-Type", "text/plain; charset=utf-8") self.end_headers() self.wfile.write("alive\n".encode()) # Suppress default request logs to keep console clean def log_message(self, format, *args): pass def start_ping_server(port: int = 8080): server = HTTPServer(("0.0.0.0", port), PingHandler) t = threading.Thread(target=server.serve_forever, daemon=True) t.start() logger.info(f"✅ Keep-alive server running on port {port} → GET / → 200 alive") return server