Функция asyncio.wait() это еще один способ вызвать множество асинхронных задач.
Она работает в нескольких режимах.
1. Самый простой - ждем завершения всех задач
async def main():
tasks = [asyncio.create_task(do_it(i)) for i in range(10)]
done, pending = await asyncio.wait(
tasks,
return_when=asyncio.ALL_COMPLETED
)
for task in done:
try:
print(task.result())
except Exception as e:
print(e)
Очень похоже на gather, но работает не так.
▫️возвращает не результаты, а два сета с объектами Task у которых можно забрать результат через task.result() если они в списке done
▫️не гарантирует порядок результатов так как оба объекта это set
▫️не выбрасывает исключение когда оно появляется, а сохраняет его в Task. Исключение появится когда попробуете забрать резултьтат.
2. Ждем завершения первой задачи, даже если там ошибка.
async def main():
tasks = [asyncio.create_task(do_it(i)) for i in range(3)]
done, pending = await asyncio.wait(
tasks,
return_when=asyncio.FIRST_COMPLETED
)
# в done может быть несколько задач!
for task in done:
try:
print(task.result())
except Exception as e:
print(f"Fail: {e}")
# Оставшиеся задачи в pending, как правило, нужно отменить, иначе они будут продолжать работать
for task in pending:
task.cancel()
В сете done будут таски которые успели завершится, причем как успешно так и нет.
3. До первой ошибки.
Тоже самое, но с аргументом FIRST_EXCEPTION
done, pending = await asyncio.wait(
tasks,
return_when=asyncio.FIRST_EXCEPTION
)
Функция завершается как только первая задача упадет с ошибкой.
Учтите, что в любом случае done вы можете обранужить несколько задач, как с ошибками так и успешные.
↗️ Полный листинг примеров здесь
#async
In germany there is a group called FreieDeutscheGesellschaft.org
Experimenting with the LoRa technology.
https://t.me/FDG_Portal
loRa is super effective in Cities, but not in the countryside.
Therefore we switched to the Reticulum Protocol, which allows us to use litte computers like raspberrypi as Gateways, for connecting Lora, CB, Wifi and even more.
First we tried Meshtastic, but there were many problems with messaging using many nodes.
Nodes not waking up after sleeping for some time.
And many problems with the APP, and interoperabilities.
So we decided to stop the complete Process, because we needed a strong base first, before expanding.
We found reticulum was better in many ways for this usecase, since then we are using it.
https://github.com/markqvist/Reticulum
Hw list:
https://t.me/NoGoolag/11676
#communications#im#lora
Corporate Communications Manager for Cartier (Dubai)
Cartier has a unique opportunity to join our regional team as Corporate Communications Manager, supporting all corporate communication for the MEIA region. In this role you will support the development and implementation of the corporate communications strategy that builds and maintains a positive corporate brand (Cartier commitments, Diversity, Equity & Inclusion, Art & Culture).
The functions will include: development of an annual editorial calendar that will cover all topics relevant to Cartier and its international, regional and local commitments; support for all corporate communications on various online and print platforms, including LinkedIn, Twitter and trade magazines.
Подробнее по ссылке
#communications#cartier#dubai
Если вам интересны топ вакансии с возможностью релокации в Арабские Эмираты, Саудовскую Аравию, Катар, Бахрейн, Кувейт, подпишитесь на наш канал
📌CPDLC — когда пилоты пишут, а не говорят
Радиосвязь — привычный способ общения пилота и диспетчера. Но в некоторых зонах мира, особенно над океаном, она заменяется цифровой связью — CPDLC (Controller-Pilot Data Link Communications).
🧠 Что это такое?
CPDLC — это обмен короткими текстовыми сообщениями между экипажем и диспетчером. Выглядит как мессенджер в кабине:
✈️ диспетчер отправляет сообщение — «Climb FL380»
👨✈️ пилот нажимает «Wilco» (выполню) — и всё, никаких переговоров по радио.
🛰Зачем это нужно?
⏺На эшелонах и в океанических зонах голосовая связь часто недоступна или перегружена.
⏺CPDLC уменьшает нагрузку на радиоэфир и исключает ошибки из-за акцентов, помех или заговорённости частот.
⏺Все сообщения фиксируются в системе — исключён фактор «не так понял».
💬Как это работает?
📌CPDLC используетсяпочти по всему миру, исключая несколько стран
Пилот и диспетчер подключаются к одной и той же системе, и весь обмен происходит через спутник или наземную станцию. Занимает это несколько секунд, а результат — высокая точность и спокойствие в эфире.
❓Интересный факт
Некоторые авиакомпании уже полностью перешли на CPDLC в дальнемагистральных рейсах, а в Европе в будущем планируется обязательное использование в верхнем воздушном пространстве. Так что «поговорить» по радио получится не всегда
🔔 Пишите в комментариях: знали ли вы, что у пилотов есть свой «авиа-мессенджер»?
Легкое Небо
#ATC#pilot#CPDLC#communications