I have run an app with Flask-SocketIO(4.2.1), gunicorn(20.0.4), gevent(1.4.0), gevent-websocket(0.10.1) and Redis as MQ for weeks. Yesterday when I upgraded python-socketio from 4.4.0 to 4.5.0, something went wrong. Whenever a client disconnected, python-socketio repeatedly published to Redis the same message as follows:
{'method': 'disconnect', 'sid': '6d83b4f2cca94cc9a95552ff9ca51f06', 'namespace': '/socket.io.sl'}
The amount of backlog messages in channel was growing rapidly, and then touched client-output-buffer-limit in Redis, so the client was closed by Redis, and app must wait for a retry after 60s. I have tried eventlet instead of gevent, or RabbitMQ instead of Redis, it makes no difference. Is this a bug introduced by new features in 4.5.0?
I have run an app with Flask-SocketIO(4.2.1), gunicorn(20.0.4), gevent(1.4.0), gevent-websocket(0.10.1) and Redis as MQ for weeks. Yesterday when I upgraded python-socketio from 4.4.0 to 4.5.0, something went wrong. Whenever a client disconnected, python-socketio repeatedly published to Redis the same message as follows:
{'method': 'disconnect', 'sid': '6d83b4f2cca94cc9a95552ff9ca51f06', 'namespace': '/socket.io.sl'}
The amount of backlog messages in channel was growing rapidly, and then touched client-output-buffer-limit in Redis, so the client was closed by Redis, and app must wait for a retry after 60s. I have tried eventlet instead of gevent, or RabbitMQ instead of Redis, it makes no difference. Is this a bug introduced by new features in 4.5.0?