Вопросы с тегом «python-asyncio»

5
Asyncio.gather против asyncio.wait
asyncio.gatherи, asyncio.waitпохоже, имеют схожие применения: у меня есть куча асинхронных вещей, которые я хочу выполнить / подождать (не обязательно ждать, пока один из них закончится, прежде чем начнется следующий). Они используют другой синтаксис и отличаются в некоторых деталях, но мне кажется очень непитоничным иметь 2 функции, которые имеют такое огромное …

4
Как на самом деле работает asyncio?
Этот вопрос мотивирован моим другим вопросом: как ждать в cdef? В сети есть масса статей и сообщений в блогах asyncio, но все они очень поверхностны. Я не смог найти никакой информации о том, как asyncioэто на самом деле реализовано, и что делает ввод-вывод асинхронным. Я пытался прочитать исходный код, но …

4
Python async / await "выстрелил и забыл"
Иногда необходимо выполнить некритическую асинхронную операцию, но я не хочу ждать ее завершения. В реализации сопрограммы Tornado вы можете «запустить и забыть» асинхронную функцию, просто пропустив yieldключевое слово. Я пытался понять, как «выстрелить и забыть» с новым синтаксисом async/, awaitвыпущенным в Python 3.5. Например, упрощенный фрагмент кода: async def async_foo(): …

4
многопроцессорность против многопоточности против asyncio в Python 3
Я обнаружил, что в Python 3.4 есть несколько разных библиотек для многопроцессорности / многопоточности: многопроцессорность vs многопоточность vs asyncio . Но я не знаю, какой из них использовать, или какой из них «рекомендуется». Они делают то же самое или разные? Если да, то какой для чего? Я хочу написать программу, …

4
Разница между сопрограммой и будущим / задачей в Python 3.5?
Допустим, у нас есть фиктивная функция: async def foo(arg): result = await some_remote_call(arg) return result.upper() Какая разница между: import asyncio coros = [] for i in range(5): coros.append(foo(i)) loop = asyncio.get_event_loop() loop.run_until_complete(asyncio.wait(coros)) И: import asyncio futures = [] for i in range(5): futures.append(asyncio.ensure_future(foo(i))) loop = asyncio.get_event_loop() loop.run_until_complete(asyncio.wait(futures)) Примечание . Пример …

4
asyncio.ensure_future против BaseEventLoop.create_task против простой сопрограммы?
Я видел несколько базовых руководств Python 3.5 по asyncio, выполняющих одну и ту же операцию в различных вариантах. В этом коде: import asyncio async def doit(i): print("Start %d" % i) await asyncio.sleep(3) print("End %d" % i) return i if __name__ == '__main__': loop = asyncio.get_event_loop() #futures = [asyncio.ensure_future(doit(i), loop=loop) for …

5
Как установить атрибут класса с ожиданием в __init__
Как я могу определить класс awaitв конструкторе или теле класса? Например, что я хочу: import asyncio # some code class Foo(object): async def __init__(self, settings): self.settings = settings self.pool = await create_pool(dsn) foo = Foo(settings) # it raises: # TypeError: __init__() should return None, not 'coroutine' или пример с атрибутом …

2
Как использовать django 3.0 ORM в ноутбуке Jupyter без запуска проверки асинхронного контекста?
В Django 3.0 добавлена ​​поддержка asgi / async, а вместе с ним - защита от выполнения синхронных запросов в асинхронном контексте . Одновременно IPython только что добавил поддержку асинхронного / ожидающего ожидания верхнего уровня , которая, кажется, выполняет весь сеанс интерпретатора внутри цикла событий по умолчанию. К сожалению, сочетание этих …
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.