Три способа выполнить множество задач с asyncio
Функция для примера:
async def do_it(n):
await asyncio.sleep(random.uniform(0.5, 1))
return n
1. Последовательный вызов
async def main():
for i in range(100):
result = await do_it(i)
Такой вызов имеет смысл только тогда, когда результат одной задачи требуется для вызова следующей.
Если они независимы, то это антипаттерн, так как аналогичен простому синхронному вызову по очереди.
2. Упорядоченный результат
async def main():
tasks = [do_it(i) for i in range(100)]
results = await asyncio.gather(*tasks)
Выполняет корутины конкурентно и возвращает результат в виде списка.
Полезен когда требуется получить результаты в том же порядке в котором задачи отправлены.
3. Результат по мере готовности
tasks = [asyncio.create_task(do_it(i)) for i in range(100)]
for cor in asyncio.as_completed(tasks):
result = await cor
Так же выполняет корутины конкурентно, но не гарантирует порядок. Результат возвращается по мере готовности, каждый отдельно.
Полезен когда нужно обработать любой ответ как можно скорее.
#async
During the 09 years period (2018-2026) for Delhi, the month of April witnessed its lowest monthly average AQI of 178 in the current year 2026 (barring 2020 - the year of lockdown due to Covid): Commission for Air Quality Management
#Environment
- 60-metre garbage mountain in Okhla is just 20 m now
- Recycled landfill waste is used for massive Eco park
- "Trees" have been planted too
#Environment
Tata Steel pilots HIsarna tech with ~50% lower capex and ~50% CO₂ reduction. 1 MTPA demo plant planned at Jamshedpur with ₹4,000 cr capex vs ₹9,000 cr blast furnace baseline. CO₂ cut up to 80% with CCS; commercialization targeted ~2030. #Environment
https://t.co/fc7NwWIvTP
An unprecedented weather event was witnessed in Jammu, where a tornado struck the area for nearly 10 minutes in Akhnoor. No damage to life or property has been reported. This marks the first recorded instance of a tornado in the region’s weather history. #Environment
India just turned plastic waste into a massive business opportunity. This policy is not about recycling, it’s about building the next manufacturing wave. #Environment
Discord @smileswe Midjourney #environment Francis henri de roche, julieta london, in the style of detailed fantasy art, imaginative prison scenes, dark blue and gold, trompe - l'œil illusionistic detail, intricate cityscapes, rustic renaissance realism
subscribe • free midjourney
Discord @Nikruz Midjourney #environment Map of fantasy land, two main buildings, one castle and one house, 2 big chests full of gold, graphiti style, vibrant colors, birds eye view, colourful
subscribe • free midjourney