Spaces:
Sleeping
Sleeping
| """Worker entry — arq plus a no-op health server for hosts that need an open port.""" | |
| import threading | |
| from http.server import BaseHTTPRequestHandler, HTTPServer | |
| from arq import run_worker | |
| from app.workers.config import WorkerSettings | |
| HEALTH_PORT = 7860 | |
| class _HealthHandler(BaseHTTPRequestHandler): | |
| def do_GET(self) -> None: # noqa: N802 | |
| self.send_response(200) | |
| self.send_header("Content-Type", "application/json") | |
| self.end_headers() | |
| self.wfile.write(b'{"status":"ok"}') | |
| def log_message(self, *_: object) -> None: | |
| return | |
| def _serve_health(port: int = HEALTH_PORT) -> None: | |
| HTTPServer(("0.0.0.0", port), _HealthHandler).serve_forever() | |
| def main() -> None: | |
| threading.Thread(target=_serve_health, daemon=True).start() | |
| run_worker(WorkerSettings) # type: ignore[arg-type] | |
| if __name__ == "__main__": | |
| main() | |