Три способа выполнить множество задач с 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
🇻🇪🔥🇺🇸Venezuela denuncia injerencia de EE.UU. y respalda a Irán
⚡️Caracas condenó las recientes declaraciones de Estados Unidos contra Irán, acusando a Washington de recurrir nuevamente a la confrontación como herramienta de política exterior.
🗣El Gobierno venezolano advirtió que el lenguaje de fuerza promovido por EE.UU. no solo se aparta del derecho internacional, sino que representa una amenaza directa para la paz global, reiterando su solidaridad con el pueblo iraní frente a cualquier intento de intervención externa.
#NoALaInjerencia#SolidaridadInternacional
#DerechoInternacional#CartaDeLaONU
#EEUUAmenaza#Irán#Venezuela
#PazMundial
🇺🇸❌ Maduro acusa a EE.UU. de destruir el orden internacional creado tras la Segunda Guerra Mundial
⚡️El presidente Nicolás Maduro denunció que la política exterior de Estados Unidos viola de forma descarada los principios del derecho internacional consagrados en la Carta de la ONU.
🗣Según el jefe de Estado, Washington ha optado por sustituir la diplomacia por la amenaza permanente y el chantaje militar, desconociendo las normas que prohíben el uso de la fuerza entre Estados soberanos y poniendo en riesgo la paz global.
#DerechoInternacional#CartaDeLaONU
#NoALaGuerra#EEUUAmenaza
#VenezuelaSoberana#PazMundial
#Multilateralismo
🔥🌍 Yván Gil: el silencio ante EE.UU. nos acerca a una guerra mundial
⚡️El canciller venezolano aseguró que la escalada militar estadounidense en el Caribe representa un ataque directo a la paz mundial y al sistema multilateral construido tras la Segunda Guerra Mundial.
🗣“No estamos enfrentando una agresión contra Venezuela, estamos enfrentando una agresión contra el derecho internacional y la Carta de la ONU”, sentenció Gil, advirtiendo que callar ante este peligro podría llevar a la humanidad a las puertas de un nuevo holocausto y una nueva guerra mundial.
#ZonaDePaz#NoALaGuerra#EEUUAmenaza
#DerechoInternacional#CartaDeLaONU
#VenezuelaSoberana#CaribeZonaDePaz
#PazMundial
❌🌍 Benín denuncia ataque de EE.UU. contra Venezuela como ilegal
⚡️Benín expresó su solidaridad con Venezuela y condenó el bombardeo estadounidense, señalando que se trata de una acción contraria al derecho internacional y a la Carta de la ONU.
🗣La declaración refuerza las denuncias sobre el uso unilateral de la fuerza por parte de Washington, que ignora los mecanismos multilaterales y actúa al margen de la legalidad internacional.
#BeninConVenezuela#NoALaAgresión
#DerechoInternacional#CartaDeLaONU
#Soberanía#PazMundial
#EEUUAmenaza#SolidaridadInternacional
🚨🇺🇸Bloqueo armado = crimen internacional
❗️La ONU desmontó la narrativa de EE.UU.: no existe derecho alguno para imponer sanciones mediante un bloqueo militar. Washington está violando abiertamente la Carta de la ONU, el derecho internacional y los principios básicos de derechos humanos.
El despliegue militar en el Caribe y la confiscación de petroleros no buscan “seguridad”, buscan asfixiar a un país soberano y apropiarse de sus recursos. Es piratería moderna con bandera estadounidense.
#BloqueoEsGuerra#EEUUAmenaza#NoAlBloqueo
#DerechoInternacional#CrimenDeAgresión
#VenezuelaSoberana#PirateríaModerna
#CartaDeLaONU#DerechosHumanos