sim3x: стандартными средствами все как-то криво выходит и не слишком быстро работает) Использую сейчас JSONFIeld для хранения свойств товаров, и делаю по ним выборку и так далее.
Через elastic убиваем сразу 2 зайца: и фильтры очень гибкие, и поиск уже есть (полнотекстовый).
Получается, все равно скрипт будет запускаться каждую минуту, и обходить таски, у которых notification_time <= текущего времени. Думал, что есть решение, когда не надо "опрашивать", а когда таск сам вызывает определенное событие.
Макс Полетаев: Возможно, я не до конца понимаю всего механизма. Пробую на простейшем Echo(). Добавил, как написано в инструкции (websocket_receive), все работает - алерт вылетает. ОК
Далее, пробую уже на роутинге:
Добавил следующее:
Но, когда выполняю аналогичный запрос (по маршруту), в консоли вижу, что идет " websocket.connect", потом пауза...и "websocket.disconnect". Ну и вылезает 502 ошибка.
По сути, я хочу воспроизвести тоже "эхо", только более правильное.
Не могу вразумить, почему такое происходит?
Спасибо.
Макс Полетаев: поставил порт 9595 и в nginx также указал для веб-сокетов 9595 - заработало, запрос ушел, пришел ответ)
Только странно, закинул python manage.py runworker -v2 в supervisor. Поработает немного, после падает.
если же в консоли запустить python manage.py runworker -v2 - все "держится" и работает)
Макс Полетаев: все равно получаю либо 404 либо 502 ошибку...
в Nginx у меня указано:
1. для location / - proxy_pass на unix сокет, который уже ловит gunicorn.
2. для location /socket/ я подключаю конфиги, которые указаны для nginx (подключение сокета).
Понять не могу, верно ли указываю в location /socket/{ proxy_pass http://localhost:8080;} или же нет?
Макс Полетаев: Daphne я подключаю как: daphne asgi:channel_layer (через supervisor). Выходит, что только в Nginx необходимо указать конфиг для веб-сокетов?))
Макс Полетаев: Теперь возникла проблема с деплой) На сервере настроено https для api.server.com. То есть все запросы идут на api.server.com.
Делал все по туториалу https://khashtamov.com/2016/04/django-channels-web..., через Redis. Когда же перехожу к тестированию, ввожу в консоли ws (или wss) - 400 или 404 ошибка
Возможно ли это из-за того, что используемый Daphne не работает с https?
спасибо
Сергей Горностаев: как вариант, для ios приложения - http, для ангуляра - https. По сути, добавить лишь условия (редирект) в nginx, django не потревожим)
one pavel: Вроде бы разобрался. Получают токен. Но, выходит, что этот токен при каждом запросе - разный. То есть связку сайта (получение юзера) по токену не сделать? Необходимо брать email, и вытаскивать юзера с помощью email?
То есть токен для юзера - постоянный? Если, например, юзер вошел через гугл на сайте - он получил токен, который записывается в БД и связывается с юзером, то, после нового захода через эту соцсеть - токен будет тот же самый?
наверное, вопрос нубовский у меня, но, все же. Основа приложения UITabBarController. Как сохранить верхние кнопки (BarButton items) при переходе между табами?
Через elastic убиваем сразу 2 зайца: и фильтры очень гибкие, и поиск уже есть (полнотекстовый).