Я настраиваю сервер socket.io, и у нас есть несколько фоновых потоков, которые вызывают длинные блокирующие методы, которые опрашивают данные. Мы также хотим передавать данные клиенту socket.io из этих потоков. Мы столкнулись с проблемами, когда эти потоки что-то выдавали, и это занимало целую вечность, пока это не было передано клиентам, пока мы не переключились на async_mode='threading'. Тогда все работало отлично, за исключением того, что теперь мы получаем предупреждение:
Транспорт WebSocket недоступен. Установите eventlet или gevent и gevent-websocket для повышения производительности.
Эти модули установлены, но не используются в многопоточном режиме. Как мы можем иметь оба фоновых потока, которые всегда работают и не вызывают socketio.sleep, и в то же время использовать транспорт Websocket вместо потоковой передачи? Спасибо