pythonany / keep_alive.py
nopoh22's picture
Upload 7 files
bcb31ef verified
Raw History Blame Contribute Delete
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