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

Народ, есть вопрос по джанге. Спрашивал в джанго канале -

не осилили). Джанга через ASGI.
В общем, в джангу прилетает ГЕТ запрос. Если эндпойнт завершается слешом, то на момент импорта views.py ивент луп создан. А если слеша нет, то и луп не создан.
Вопрос - почему/зачем так?

11 ответов

13 просмотров

Момент импорта тебя зачем волнует?

K-G Автор вопроса
Tishka17
Момент импорта тебя зачем волнует?

А у меня сайд эффект случился из-за этого)) Дело в том, что у меня в глобальной области views.py создаётся инстанс моего класса. На днях там в конструкторе появился вызов asyncio.Event(), и теперь он ругается, что я пытаюсь создать ивент вне лупа.

K G
А у меня сайд эффект случился из-за этого)) Дело в...

Полагаю, стоит выкинуть из глобальной области видимости такие вещи

K-G Автор вопроса
Tishka17
Полагаю, стоит выкинуть из глобальной области види...

Согласен) Но я пока не понимаю, где и как его размещать. И на этот вопрос в этом чате мне не ответили) Не могу найти инфы пока...

K G
А у меня сайд эффект случился из-за этого)) Дело в...

Эм. Эвент прекрасно создаётся вне лупа

K G
Согласен) Но я пока не понимаю, где и как его разм...

Ну а зачем тебе вообще глобальный Эвент в веб приложении?

K-G Автор вопроса
Tishka17
Эм. Эвент прекрасно создаётся вне лупа

Вот такой код: try: # print(asyncio.get_event_loop()) q = asyncio.Queue() except Exception: import traceback print(f'Exception during call "asyncio.Queue()":\n{traceback.format_exc()}') print('') расположенный в глобальной области views.py Даёт вот такой эксепшн: Traceback (most recent call last): File "C:\Work\repo\test-dialer\td\views.py", line 31, in <module> q = asyncio.Queue() File "C:\Program Files (x86)\Python38-32\lib\asyncio\queues.py", line 35, in __init__ self._loop = events.get_event_loop() File "C:\Program Files (x86)\Python38-32\lib\asyncio\events.py", line 639, in get_event_loop raise RuntimeError('There is no current event loop in thread %r.' RuntimeError: There is no current event loop in thread 'ThreadPoolExecutor-0_0'.

K G
Вот такой код: try: # print(asyncio.get_event_...

Попробуй создавать эти вещи в фабрике приложения, а не где попало

K-G Автор вопроса
Tishka17
Попробуй создавать эти вещи в фабрике приложения, ...

Дык так и делаю) Но фабрику-то где создавать?)

K G
Дык так и делаю) Но фабрику-то где создавать?)

А фабрику можно сделать асинхронной?

K-G Автор вопроса
Tishka17
А фабрику можно сделать асинхронной?

Возможно, мы по-разному видим фабрику. У меня это объект, который реализует методы типа дай_то(), дай_сё()

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

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

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
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
Карта сайта