Три способа выполнить множество задач с 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
✅Экспорт мед. изделий. Возможности сегодня✅
Многие из вас ждали вебинар, который осветит реальную картину происходящего в сфере производства медицинских изделий.
13 октября в 14:00 (по Москве) наши эксперты в ходе бесплатного вебинара расскажут о том, какие географические направления открыты российским экспортерам мед. изделий сейчас.
Ключевые темы вебинара:
1️⃣. Европейская сертификации по регламенту MDR EU 2017/745 (СЕ маркировка)
2️⃣. Сертификаты по стандарту ISO 13485:2016 «Изделия медицинские. Системы менеджмента качества. Требования к регулированию»
3️⃣. Возможности Группы компании Haensch для экспортеров медицинских изделий
4️⃣.Вопросы-ответы. Обсуждение.
Ссылка на регистрацию:https://haensch.timepad.ru/event/2186255/?utm_refcode=8f99a857cdcba99b7efa0fd64515b6d5fa30495f)#register
“President Tech Award” tanlovining bootcamp bosqichi “Yangi O‘zbekiston” universitetida o‘tkaziladi!
🐦Bootcamp “President Tech Award” tanlovining muhim qismi bo‘lib, ishtirokchilarga o‘z loyiha g‘oyalarini ishlab chiqish hamda kengaytirish uchun platforma taqdim etadi.
📨Ro'yxatdan o'tish
✅Ushbu tadbir yangi aloqalar oʻrnatish, startap sohasida mutaxassislar, murabbiylar va muvaffaqiyatli tadbirkorlardan qimmatli bilim va yordam olish imkonini beradi.
📅8-avgust Toshkentda, 10-avgust Samarqandda, 12-avgust Farg‘onada.
🤝 KOICA, Gyeongbuk texnoparki, “Yangi O‘zbekiston” universiteti.
🗣 Koreyadan kelgan mutaxassislar va mamlakatdagi yirik startaplar.
🔁English
➖➖➖➖➖➖➖➖➖➖➖➖➖➖
#presidenttechaward#bootcamp#register
⬇️ Biz ijtimoiy tarmoqlarda:
Veb-sayt | Telegram | Instagram | Facebook
https://docs.python.org/3/library/atexit.html
The #atexit module defines #functions to #register and #unregister cleanup functions. Functions thus registered are automatically executed upon normal interpreter termination. atexit runs these functions in the reverse order in which they were registered; if you register A, B, and C, at #interpreter#termination time they will be run in the order C, B, A.