явного ограничения нет, однако ничего не стоит, что для каждого экземпляра (открытого соединения) потребителя вы можете обрабатывать только одно сообщение WS одновременно.
Так что, если у вас есть одно соединение с веб-сокетом и вы отправляете много-много сообщений WS по этому соединению, если потребитель работает с ними (например, записывает их в базу данных), очередь сообщений может заполниться, и вы получит ошибку.
Вот несколько решений этой проблемы,
Откройте несколько соединений ws и распределите нагрузку
у вашего потребителя, прежде чем выполнять какую-либо работу, которая займет некоторое время, поместите его на work queue
и получите некоторые фоновые задачи (которые вы не ожидаете).
Для этого второго варианта, вероятно, будет хорошей идеей создать эту фоновую очередь в вашем методе on_connect
и обработать его выключение / ожидание, пока он не закачает sh все в на отключить метод.
-
, если вы ожидаете большой объем данных и не хотите использовать дорогостоящую виртуальную машину с большим объемом памяти, вам лучше использовать сервер, который не написано в python.
Мое предложение для разработчика python будет https://docs.vapor.codes/4.0/websockets/, это серверная среда Swift, лингвистически Swift, если очень близко к TypeAnotated python, так проще, чем другие высокопроизводительные опции, подобрать для python dev.