Download keep_alive.py from nopoh22/pythonany: direct link, hf CLI and curl.
- Browser
- Download file 1.01 kB
-
https://huggingface.co/spaces/nopoh22/pythonany/resolve/main/keep_alive.py
- Command line
-
hf download hf://spaces/nopoh22/pythonany/keep_alive.py
-
curl -L -o keep_alive.py https://huggingface.co/spaces/nopoh22/pythonany/resolve/main/keep_alive.py
1.01 kB
| """ | |
| 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 | |