Т.е. это запрос в базу даже если нового ответа нет? Меня именно этот момент больше интересует, как делать обращение к БД только если там действительно что то есть новое.
Сергей, А если всетаки хочется rabbit ? Если есть большое желание с ним поработать ? Или в моем случае использование кролика выглядит совсем нездорово?
Это асинхронное вебприложение на python. В качестве клиента aio-pika. Пользователь жмет на кнопку 'Присоединиться' создается запись в БД , идентификатор которой используется в качестве message. Создается event_loop в котором выполняется передача сообщения в очередь, соединение закрывается. Это что касается producer
Для consumer немного по другому. В качестве консюмера выступает пользователь - создатель ивента. Он должен обработать поступившие заявки. Предполагается постоянное подключение, при каждом обновлении страницы будет выполняться запрос в соответствующую очередь и если там есть сообщение то обрабатывать его (делать запрос в БД по id содержащемуся в сообщениии и в UI выводить эту инфу)
По перфомансу, на текущий момент не предполагается что это будет более 1000 заявок в минуту на пике (скорее всего существенно меньше но хотелось бы предусмотерть и такой вариант прии возможности). Требования к отклику - ну тут ничего сверестественного, это не онлайн чат и секунда другаю вообще никак не влияют.
Rsa97, Похоже что последний коммент это как раз то о чем я спрашиваю .Да, я ввел в заблуждение наличием JWT по сути использовав его как механизм для шифрования данных сессий , что не совсем корректно. Т.е в итоге мне надо положить id сессии в куку и во время запроса использовать его в качестве ключа для поиска совпадения в редисе?
Rsa97, у клиента нет токена, токен в редисе на сервере, не в локал сторадже не в куках. Надо сделать запрос в редис и убедиться что если юзер залогинен то там есть нужный токен. При выходе из акка токен удаляется. Я пока пришел к отому что например в куки клиента добавлять id пользователя и по нему искать в редисе совпадение.
p.s. надо наверное абстрагироваться от JWT спецификации, лучше назвать это пользовательской сессией
Значит клиенту надо понимать какой именно токен в редисе именно его уникальный.
Если отойти от концепции JWT, и считать что токен - это всего лишь email или id пользователя, наличие которого говорит о том что юзер прошел авторизацию.
сли клиент не прислал токен или прислал просроченный токен или подпись неверна
вот про это я и спрашиваю , как клиент "понимает" какой именно из токенов ему посылать для проверки
Все таки хранение JWT токена в редис довольно распространенная практика. И если исходить из того что именно такой способ выбран, какая логика взаимодействия пользователя и сессий ?
Влад Григорьев, да не важно это уже , после замечания Сергея я у себя код подфиксил. Ошибка стала завязана на coroutine, а не функции, в вопросе я это указал. Да и в целом уже разобрался с проблемой.
два раза await надо было вызвать
А если я например купил домен com у российского регистратора имеет он хотя бы гипотетически возможность запрать у меня право на него. Или же международные домены лежат вне юрисдикции конкретной страны?