|
Python 3.x websocket client
|
|||
---|---|---|---|
#18+
Добрый день, Не получается нагуглить как работает websocket-client. Предположим мы подсоединились к серверу и получаем от него сообщение, складываем в массив. Некоторые сообщения могут потребовать длительной (до пары секунд) обработки перед добавлением. Выносить в отдельный тред не хочу по определенным причинам - пока буду обрабатывать в отдельном треде новое сообщение может туда записать и порядок прихода данных сломается. Вариант 1 Сообщения будут накапливаться в очередь, потом обработаются. Вариант 2 Обработчик пропустит часть сообщений. Какой вариант правильный? С ув. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.10.2018, 12:16 |
|
Python 3.x websocket client
|
|||
---|---|---|---|
#18+
nuts577Добрый день, Не получается нагуглить как работает websocket-client. Предположим мы подсоединились к серверу и получаем от него сообщение, складываем в массив. Некоторые сообщения могут потребовать длительной (до пары секунд) обработки перед добавлением. Выносить в отдельный тред не хочу по определенным причинам - пока буду обрабатывать в отдельном треде новое сообщение может туда записать и порядок прихода данных сломается. Вариант 1 Сообщения будут накапливаться в очередь, потом обработаются. Вариант 2 Обработчик пропустит часть сообщений. Какой вариант правильный? С ув. Обычная ошибка человека, не знакомого с асинхронным программированием. Кажется, что это некая особая технология позволяющая распараллелелить простой код. автор Выносить в отдельный тред Вот тут все умерло. Не надо ничего выносить в отдельный тред (без нужды). Надо делать свои запросы к ресурсам асинхронными и код писать соответствующим образом. Асинхронный код подразумевает, что ты отправив запрос на внешний ресурс не "ждешь" ответа, а пока оно там на внешнем ресурсе крутится, можно выполнять какие-то свои задачи. Синхронный код, ждет ответа на каждый запрос и блокирует весь поток вообще пока не придет ответ от блокирующего сервиса. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.10.2018, 19:14 |
|
|
start [/forum/topic.php?fid=23&tid=1460115]: |
0ms |
get settings: |
10ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
30ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
47ms |
get tp. blocked users: |
2ms |
others: | 327ms |
total: | 452ms |
0 / 0 |