Три способа выполнить множество задач с 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
Небольшой разговор с Сергеем Чарынцевым, директором дисциплины HardWear UserGate, по части представленного компанией решения.
#UserGate#NGFW
❤️Дарим два билета на фестиваль GAMEДНИ
| Розыгрыш для бустеров |
| Telegram | VK | Сайт | MAX |
Друзья! Не так давно мы приняли участие в South HUB 24 https://www.southhub.ru. Кэмп получился очень душевный и позитивный. Организаторы постарались сделать все, чтобы создать по-настоящему семейную атмосферу, а со многими участниками сложились очень теплые дружеские отношения.
А еще мы позволили коллегам немного расслабиться и почувствовать себя в безопасности, взяв вопросы на себя: провели аудит защищенности, помогли организаторам устранить недочеты и построить устойчивую к взлому архитектуру.
«Хочешь изменить этот мир? Начни делать его лучше вокруг себя!» – решили мы. И сделали! 😉
Удачи и до новых встреч!
#аудит#консалтинг#UserGate
⚡ Друзья!
Наши коллеги из центра мониторинга и реагирования (UserGate MRC) 👨🎓 подготовили продолжение исследования средств осуществления DDoS-атак на российские ИТ-системы.
На этот раз речь пойдет о трёх различных инструментах и инфраструктуре, используемых для DDoS-атак. 💻
Статья будет полезна для специалистов ИБ, а также для всех читателей, интересующихся реверс-инжинирингом и сетевой безопасностью.
Заваривайте чай/кофе, усаживайтесь поудобнее и переходите по ссылке.
#UserGate#UserGateMRC#MRC
Процесс импортозамещения ИТ-инфраструктуры идет полным ходом, а это значит, что средства защиты для наиболее полной реализации своей функциональности и надежной работы должны быть совместимы с отечественными инфраструктурными решениями.
Мы уделяем этому вопросу большое внимание, взаимодействуем с разработчиками, регулярно проводим тестирования на совместимость, получаем соответствующие сертификаты.
➡️Узнать больше
#UserGate#NGFW#ALDPro#Брест