Три способа выполнить множество задач с 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
🚨الخارجية الفرنسية: الوزيران الفرنسي والباكستاني أكدا أهمية إدراج لبنان ضمن بنود وقف إطلاق النار لضمان استمراره
French Foreign Ministry:
The French and Pakistani ministers emphasized the importance of including #Lebanon within the ceasefire terms to ensure its sustainability.
ــــــــــــــ
📲 قناة موقع بنت جبيل على واتساب
https://whatsapp.com/channel/0029VaG3H3R8fewmfDqRKX0Q
🇮🇷🇮🇷 Islamic Revolutionary Guard Corps (IRGC): We will fulfill our duty toward #Lebanon, respond to the aggressors, and make them regret [their actions].
—❗🇱🇧/🇮🇱NEW: Israeli media talking about a security event in southern #Lebanon and families of the iof soldiers were notified.
According to the report, At least 5 military helicopters in evacuation operations in southern Lebanon.
@AlHaqNews
🇵🇰🇮🇷🇱🇧🔻Pakistan’s Minister of Defense, H.E KHAWAJA MUHAMMAD ASIF: Israel is an evil and a curse on humanity. While peace talks are underway, it commits genocide in #Lebanon.
@AlHaqNews
🇱🇧🇱🇧Hussein Wahib Yassin (Haj Abu Mohammad Habib), a senior commander of Hezbollah, was martyred as a result of an airstrike by the Zionist regime’s army on southern Lebanon.
🟡 Martyr Yassin was from the town of Majdel Selm in southern Lebanon and was an experienced field commander of Hezbollah. His record includes participation in the 33‑day war, the Battle of Al‑Aqsa Storm on the southern Lebanon front, the Syrian war, and accompanying the martyred commanders Haj Qasem Soleimani and Haj Emad Mughniyeh.
🟡 The exact time and place of this mujahid commander’s martyrdom are not specified.
#Lebanon
🇱🇧 According to a new report from the Lebanese Ministry of Health, the death toll from yesterday’s Israeli attacks on Lebanon has now reached 303 martyrs, with over 1,150 wounded.
✍️ Unfortunately, the casualty count continues to rise. Hezbollah, without any support from Lebanon’s incompetent government, is defending the country’s soil and its people.
#Lebanon
🇱🇧#Lebanon: The statue of Jesus Christ which was destroyed by an IDF soldier was replaced yesterday by a new one which was donated by Italian UNIFIL troops.
🇱🇧#Lebanon: Lebanon’s prime minister has reportedly ordered the Lebanese Army to deploy across Beirut to ensure that only official armed forces have access to weapons, restricting possession exclusively to state security institutions.
The government has also decided to file an urgent complaint with the United Nations Security Council in response to Israel’s indiscriminate attacks on civilian infrastructure in Lebanon.
At the start of the session, the PM stated that Lebanon is "tired of mere statements of condemnation", expressing frustration that the country was not included in the ceasefire announced between the US and Iran.
(via MTV news)
🇱🇧#Lebanon: The pro-Iranian hacktivist group "Fatemiyoun Electronic Team" (FET) targeted the website of MTV Lebanon overnight, issuing threats against the channel and causing a temporary outage.
The group carries out digital attacks on behalf of the Iraqi militia "Kataib Hezbollah" (also known as Hezbollah Brigades), which is part of the Popular Mobilization Forces (PMF).
(via @LebOSINT on X)