Функция 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
#ondo
🤝Bloomberg: Franklin Templeton в партнерстве с Ondo Finance запустит токенизированные ETF на акции США, облигации и золото (с доступом к торговле 24/7).
На первоначальном этапе – за пределами США.
Franklin Templeton управляет активами на сумму $1,700,000,000,000+.
Crypto Headlines
#Ondo
Ondo вошла в рабочую группу DTCC
Ondo вошла в отраслевую рабочую группу DTCC по развитию токенизации на рынке США.
DTCC — ключевая инфраструктура американского фондового рынка: организация хранит активы на сумму более $114 трлн и ежегодно проводит клиринг операций на $3,7 квадриллиона.
В рабочей группе также участвуют BlackRock, Goldman Sachs, J.P. Morgan, Franklin Templeton, Morgan Stanley, Bank of America, Citadel Securities, NYSE Group, Circle, Fireblocks, Robinhood и другие.
DTCC разрабатывает сервис токенизации, который должен перенести часть инфраструктуры рынков капитала США ончейн. Для Ondo это усиление позиции в RWA-сегменте: компания уже работает с токенизацией акций, ETF и казначейских облигаций США.
#ONDO
Ondo получила одобрение регулятора в Абу Даби для токенизированных акций на Binance
Платформа Ondo Global Markets получила регуляторное одобрение в Абу Даби, после чего на Binance стали доступны токенизированные версии акций и ETF от Ondo. Токены запущены на Binance Alpha (внутри Binance Wallet) и не доступны пользователям из США.
На старте добавили 10 инструментов, включая AAPLon, GOOGLon, TSLAon, NVDAon и QQQon. Одобрение прошло через Financial Services Regulatory Authority в Абу Даби.
Ondo сообщает метрики своего направления токенизированных ценных бумаг: TVL > $550 млн и кумулятивный торговый объем > $11 млрд.