Я оказался в сложной ситуации, в которой я не могу найти свой выход из: < /p>
Я написал приложение, в котором используется асинсио (и, в частности, Aiohttp). < /li>
В части этого приложения мне не нужно использовать третий организм (в моем случае, Weasyprint), который нет , который не должен использовать библиотеку третьего часа (в моем случае, который не должен использовать библиотеку третьего часа (в моем случае. Асинхронизация. Этот обратный вызов, очевидно, должен быть синхронизированным, но я хочу использовать свой существующий асинхровый код как часть этого обратного вызова. (У меня уже есть сеанс клиента AIOHTTP, который я хочу использовать, и я реализовал некоторые клиенты MiddleWares в этом сеансе, которые делают некоторые полезные вещи. Я не хочу писать вторую полностью синхронизированную версию этого кода.) URL Fetcher Code во втором цикле с Loop.run_until_complete . Затем я использовал queue.queue , чтобы заблокировать выполнение в основном потоке, пока вторичный поток со вторым циклом события не вернет результат. К сожалению, это бросало ошибки из -за попыток выполнить задачи в неверном цикле событий. Кажется, я не могу использовать сеанс клиента вне цикла событий, где он был создан. К сожалению, это не удалось, потому что «этот цикл событий уже работает». Кажется, что это не имело значения, что это только ожидало в ветке Weasyprint, он все равно не позволил бы мне запустить еще одну цинку в цикле. Чтобы найти способ force , чтобы использовать асинхронный обратный вызов, хотя этот обратный вызов в действительности просто работает синхронно.
У меня действительно есть только понимание асинсио; Я не знаю много подробностей более низкого уровня о том, как работают петли событий и все это, поэтому я уверен, что приведенные выше подходы немного наивны, но мне кажется, что мне должно быть какой-то способ сделать это.
Подробнее здесь: https://stackoverflow.com/questions/796 ... async-code
Позвоните асинхронному коду внутри кода синхронизации внутри асинхрового кода ⇐ Python
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Позвоните асинхронному коду внутри кода синхронизации внутри асинхрового кода
Anonymous » » в форуме Python - 0 Ответы
- 3 Просмотры
-
Последнее сообщение Anonymous
-
-
-
Как обернуть задачу в задачу
без использования асинхрового состояния машины? [закрыто]
Anonymous » » в форуме C# - 0 Ответы
- 14 Просмотры
-
Последнее сообщение Anonymous
-
-
-
Как обернуть задачу в задачу
без использования асинхрового состояния машины?
Anonymous » » в форуме C# - 0 Ответы
- 5 Просмотры
-
Последнее сообщение Anonymous
-
-
-
Позвоните в другой блокнот Jupyter, передача переменных и получение переменных
Anonymous » » в форуме Python - 0 Ответы
- 16 Просмотры
-
Последнее сообщение Anonymous
-