Size: a a a

Django [ru] #STAY HOME

2021 February 12

DT

Denis Taranov in Django [ru] #STAY HOME
еще до ` и после нужны пробелы
источник

DT

Denis Taranov in Django [ru] #STAY HOME
иначе`будет`вот так
источник

NC

Nikolay Cherniy in Django [ru] #STAY HOME
Denis Taranov
у меня работает, хмм
ну вернее работает не постоянно, если копируешь что-то сюда, то часто не работает
источник

Н

Не выходи из комнаты... in Django [ru] #STAY HOME
У меня тут проблема. Либо я что-то не догоняю..

Есть вебсокет. С фронта приходят данные. Эти данные нужно отправлять гуглу и результат - обратно на фронт (риал тайм).

Коннекшнов, комнат может быть много.

Есть вариант:
1. Создать метод с параметрами: данные с фронта, айди вебсокета.
2. Как только с фронта приходят данные, ложить этот метод в очередь, а на фронт возвращать 200 статус.
3. Выполнять методы с очереди
4. Результат отправлять на фронт в send_data (поскольку айди канала известен)

Вопрос по третьему пункту - как в фоне вычитывать эти методы с очереди? Не держать же в вечном цикле селери таску оО
источник

DT

Denis Taranov in Django [ru] #STAY HOME
Не выходи из комнаты.
У меня тут проблема. Либо я что-то не догоняю..

Есть вебсокет. С фронта приходят данные. Эти данные нужно отправлять гуглу и результат - обратно на фронт (риал тайм).

Коннекшнов, комнат может быть много.

Есть вариант:
1. Создать метод с параметрами: данные с фронта, айди вебсокета.
2. Как только с фронта приходят данные, ложить этот метод в очередь, а на фронт возвращать 200 статус.
3. Выполнять методы с очереди
4. Результат отправлять на фронт в send_data (поскольку айди канала известен)

Вопрос по третьему пункту - как в фоне вычитывать эти методы с очереди? Не держать же в вечном цикле селери таску оО
не совсем понял проблему:
пришло сообщение в WS —> синхронный запрос в гугол —> ответ в WS
источник

Н

Не выходи из комнаты... in Django [ru] #STAY HOME
синхронный запрос в гугл?
источник

Н

Не выходи из комнаты... in Django [ru] #STAY HOME
Denis Taranov
не совсем понял проблему:
пришло сообщение в WS —> синхронный запрос в гугол —> ответ в WS
типа клиент будет всё время ждать, пока гугл пришлет ответ?
источник

Н

Не выходи из комнаты... in Django [ru] #STAY HOME
Не вариант. Тут ещё возможна ситуация, что данные от клиента приходят быстрее, чем результат от гугла. Поэтому и очереди.
источник

DT

Denis Taranov in Django [ru] #STAY HOME
не совсем понял, чего ждать будет клиент, это же не http запрос
источник

DT

Denis Taranov in Django [ru] #STAY HOME
он послал сообщение в сокет, дальше ничего не ждет, просто обработчик ответного сообщения
источник

Н

Не выходи из комнаты... in Django [ru] #STAY HOME
Denis Taranov
он послал сообщение в сокет, дальше ничего не ждет, просто обработчик ответного сообщения
погоди. ты хочешь сказать, что фронт может слать запросы на сервер, не дожидаясь ответа?
источник

NC

Nikolay Cherniy in Django [ru] #STAY HOME
Не выходи из комнаты.
погоди. ты хочешь сказать, что фронт может слать запросы на сервер, не дожидаясь ответа?
ну по вебсокету-то да
источник

DT

Denis Taranov in Django [ru] #STAY HOME
Не выходи из комнаты.
погоди. ты хочешь сказать, что фронт может слать запросы на сервер, не дожидаясь ответа?
WS сообщения - это не запрос
источник

Н

Не выходи из комнаты... in Django [ru] #STAY HOME
эм
источник

Н

Не выходи из комнаты... in Django [ru] #STAY HOME
и нахер мне тогда очередь
источник

DT

Denis Taranov in Django [ru] #STAY HOME
это тебя надо спросить)
источник

Н

Не выходи из комнаты... in Django [ru] #STAY HOME
😕
источник

Н

Не выходи из комнаты... in Django [ru] #STAY HOME
а если клиент делает дисконнект, я же могу оставшиеся методы из очереди выполнить, результат отправить клиенту и тогда уже делать дисконнект?
источник

DT

Denis Taranov in Django [ru] #STAY HOME
Смотри примерно че такое вебсокет на пальцах: клиент отправляет HTTP запрос на подключение - в ответ от сервера прихъодит ответ Switch Protocols, после чего начинают посылаться пинг-понги.
Дисконнект клиента - это либо когда он руками выходит из сокета, либо когда пинг-понго ожидание превышает лимит
Да, отловить дисконнект ты можешь и сделать там что хошь
источник

Н

Не выходи из комнаты... in Django [ru] #STAY HOME
отлично
источник