Три способа выполнить множество задач с 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
🌎 In the dark waters of the Black Sea, ancient bacteria can “eat” toxic hydrogen sulfide gas, turning it into harmless sulfate. This vital process keeps deep sea life possible in these oxygen-poor zones. ✨
#bacteria⚡#chemistry⚡#ocean
👉subscribe Interesting Planet
🌎 Somewhere in the world’s oceans, the “milky sea” phenomenon can make water glow bright blue for up to several days. Caused by massive colonies of bioluminescent bacteria, these rare glowing patches can cover areas larger than 15,000 square kilometers—visible even from space. ✨
#ocean⚡#mysteries⚡#bioluminescence⚡#bacteria
👉subscribe Interesting Planet
💩 АХЛАТ ТАРКИБИ
Ўртача инсон кунига 128 грамм аҳлат чиқаради. Унинг 75% ни сув ташкил қилади. Жуда кутилмаган маълумот, а? (энди тушунаётгандирсиз, етарлича сув ичиш ич келиши учун қанчалик муҳим?)
Қолган қуруқ қисмининг тахминан ярмини бактериялар, яна ярмини эса оқсил, углевод ва ёғлар ташкил қилади. Озгина миқдорда шиллиқ, эпителиал ҳужайралар, минераллар ҳам бўлади.
Манбаа: tandfonline,
🩺Doctor Ziyod | #microbiota#gut#bacteria#gastroenterology
Wearing headphones for a long time can trap moisture and bacteria in your ears, which may cause infections. 🎧🦠
@googlefactss
#EarHealth#Headphones#Bacteria#EarInfection