Add eventlet back: use eventlet for SocketIO async mode
Browse files
app.py
CHANGED
|
@@ -4,6 +4,10 @@ Pong backend (GPU, eager) for Hugging Face Spaces.
|
|
| 4 |
Broadcasts readiness via Socket.IO so the frontend can auto-hide a loading overlay once the model is ready.
|
| 5 |
"""
|
| 6 |
|
|
|
|
|
|
|
|
|
|
|
|
|
| 7 |
import sys
|
| 8 |
import os
|
| 9 |
import time
|
|
@@ -38,11 +42,11 @@ from src.config import Config
|
|
| 38 |
# --------------------------
|
| 39 |
app = Flask(__name__, static_folder='static')
|
| 40 |
CORS(app)
|
| 41 |
-
# Configure SocketIO - use
|
| 42 |
socketio = SocketIO(
|
| 43 |
app,
|
| 44 |
cors_allowed_origins="*",
|
| 45 |
-
async_mode='
|
| 46 |
logger=False,
|
| 47 |
engineio_logger=False,
|
| 48 |
ping_timeout=60,
|
|
|
|
| 4 |
Broadcasts readiness via Socket.IO so the frontend can auto-hide a loading overlay once the model is ready.
|
| 5 |
"""
|
| 6 |
|
| 7 |
+
# Eventlet must be imported first and monkey-patched before other imports
|
| 8 |
+
import eventlet
|
| 9 |
+
eventlet.monkey_patch()
|
| 10 |
+
|
| 11 |
import sys
|
| 12 |
import os
|
| 13 |
import time
|
|
|
|
| 42 |
# --------------------------
|
| 43 |
app = Flask(__name__, static_folder='static')
|
| 44 |
CORS(app)
|
| 45 |
+
# Configure SocketIO - use eventlet for proper WebSocket support
|
| 46 |
socketio = SocketIO(
|
| 47 |
app,
|
| 48 |
cors_allowed_origins="*",
|
| 49 |
+
async_mode='eventlet',
|
| 50 |
logger=False,
|
| 51 |
engineio_logger=False,
|
| 52 |
ping_timeout=60,
|