Позвоните асинхронному коду внутри кода синхронизации внутри асинхрового кодаPython

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Позвоните асинхронному коду внутри кода синхронизации внутри асинхрового кода

Сообщение Anonymous »

Я оказался в сложной ситуации, в которой я не могу найти свой выход из: < /p>

Я написал приложение, в котором используется асинсио (и, в частности, Aiohttp). < /li>
В части этого приложения мне не нужно использовать третий организм (в моем случае, Weasyprint), который нет , который не должен использовать библиотеку третьего часа (в моем случае, который не должен использовать библиотеку третьего часа (в моем случае. Асинхронизация. Этот обратный вызов, очевидно, должен быть синхронизированным, но я хочу использовать свой существующий асинхровый код как часть этого обратного вызова. (У меня уже есть сеанс клиента AIOHTTP, который я хочу использовать, и я реализовал некоторые клиенты MiddleWares в этом сеансе, которые делают некоторые полезные вещи. Я не хочу писать вторую полностью синхронизированную версию этого кода.) URL Fetcher Code во втором цикле с Loop.run_until_complete . Затем я использовал queue.queue , чтобы заблокировать выполнение в основном потоке, пока вторичный поток со вторым циклом события не вернет результат. К сожалению, это бросало ошибки из -за попыток выполнить задачи в неверном цикле событий. Кажется, я не могу использовать сеанс клиента вне цикла событий, где он был создан. К сожалению, это не удалось, потому что «этот цикл событий уже работает». Кажется, что это не имело значения, что это только ожидало в ветке Weasyprint, он все равно не позволил бы мне запустить еще одну цинку в цикле. Чтобы найти способ force , чтобы использовать асинхронный обратный вызов, хотя этот обратный вызов в действительности просто работает синхронно.
У меня действительно есть только понимание асинсио; Я не знаю много подробностей более низкого уровня о том, как работают петли событий и все это, поэтому я уверен, что приведенные выше подходы немного наивны, но мне кажется, что мне должно быть какой-то способ сделать это.

Подробнее здесь: https://stackoverflow.com/questions/796 ... async-code
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»