170 похожих чатов

Всем привет. Господа, использую aiohttp для того чтоб написать свой

простенький web-server. При чтении документации увидел возможность хранить глобальные переменные в Application.

При изменении переменных выскакивает ошибка:
DeprecationWarning: Changing state of started or joined application is deprecated

Есть ли те, кто может подсказать что можно в этой ситуации сделать? (P.S: Могу забить, ибо все и так работает, но хотелось бы узнать все-таки вариант, который будет считаться правильным решением)

16 ответов

31 просмотр

зачем ты пытаешься хранить глобальные переменные?

Alex-Hlurry Автор вопроса
Alex
зачем ты пытаешься хранить глобальные переменные?

Связь с БД + хранение Клиентской сессии, ибо иногда надо обработать свой запрос и послать в другую часть планеты

Alex-Hlurry Автор вопроса
Alex
а как ты открываешь соединение с БД ?

Какой там сайт, чтоб свой код залить? Pastebin же?

Alex-Hlurry Автор вопроса

https://pastebin.com/aNfd4r2y

Alex-Hlurry Автор вопроса
Alex
pastebin.com

Исходя из доки, можно получить app из request'a на сервер. А из app уже получить нужные переменные

Alex Hlurry
https://pastebin.com/aNfd4r2y

вообще страннно и по идее этот код не должен бы выдавать эту ошибку. вот тут похоже релевантное обсуждение этой проблемы https://github.com/aio-libs/aiohttp/issues/4326

Alex-Hlurry Автор вопроса
Alex
вообще страннно и по идее этот код не должен бы вы...

Да, читал ее, но на всякий случай спросил в чате. Может есть какое-то другое решение, которое я просто не вижу. Спасибо за помощь, тогда забью на нее просто

Alex Hlurry
Да, читал ее, но на всякий случай спросил в чате. ...

а если создавать как они предлагают в cleanup context, то предупреждение тоже выбрасывается? https://docs.aiohttp.org/en/stable/web_advanced.html#cleanup-context

Alex-Hlurry Автор вопроса
Alex
а если создавать как они предлагают в cleanup cont...

Пока не пробовал. Но у меня не с БД проблема, а с ClientSession

Alex Hlurry
Пока не пробовал. Но у меня не с БД проблема, а с ...

что такое ClientSession и где конкретно вываливается это предупреждение?

Alex-Hlurry Автор вопроса
Alex
что такое ClientSession и где конкретно вываливает...

ClientSession - сессия, которая должна отправлять запросы на другой сервер. В доке написано, что идеальный вариант такой: async with ClientSession() as session: #code here Но у них еще написано, что лучше не создавать каждый раз новую сессию для одного запроса. К сожалению, у меня будет выходить один запрос на сессию. Вываливается предупреждение тут: if request.app.get('client').closed: request.app['client'] = ClientSession()

Alex Hlurry
ClientSession - сессия, которая должна отправлять ...

а, это aiohttp-шная сессия. if request.app.get('client').closed: request.app['client'] = ClientSession() так, а где ты этот код вызываешь?

Alex-Hlurry Автор вопроса
Alex Hlurry
https://pastebin.com/nFDzEm7x

так а зачем этот код вообще нужен?

Похожие вопросы

Обсуждают сегодня

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Карта сайта