Функция 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
Various Artists — Rajasthan Street Music (Sublime Frequencies, 2022)
#traditional#field_recording#tabla#dhol#harmonium#Rajasthan#India
Раджастан (राजस्थान), что значит «страна раджей» — самый большой штат в Индии, расположен на северо-западе страны. Суровыми просторами пустыни Тар он разделен с пакистанскими провинциями Синд и Пенджаб, а на юге граничит с индийским штатом Гуджарат.
Века непрерывных вторжений и жестоких битв, правление скифов, маурьев, сатрапов, гурджаров, моголов, раджпутов и британцев оставили свой след в местном фольклоре. В наши дни, из-за постоянных сбоев в подаче электроэнергии, длительных засух, пересыхающих рек и постоянно наступающего опустынивания, Раджастан остается не самым приветливым местом для жизни. Тяготы прошлого и настоящего наделили народ Раджастана гордым характером, который чувствуется и в музыке штата.
Себ Басслир записал компиляцию Rajasthan Street Music в различных городах, деревнях и отдаленных районах Раджастана в рамках двухмесячного путешествия. Этот сборник не является исчерпывающим фольклорным исследованием или этномузыковедческим проектом. Он скорее представляет музыкальный пейзаж Раджастана середины нулевых, срез звуковой среды за пределами академического подхода к раджастанской музыке.
Bandcamp | Telegram
Shakti — NPR Music Tiny Desk Concert (2023)
#jazz#carnatic#hindustani#tabla#dhol#video#India#United_States
Записав первый за 48 лет альбом This Moment, джаз-фьюжн группа Shakti отправилась в мировое турне и по дороге заскочила на Tiny Desk, чтобы презентавать новое творчество.
Shakti — это группа, созданная английским гитаристом Джоном Маклафлином, индийским скрипачом Л. Шанкаром, перкуссионистами Закиром Хуссейном и Т. Х. «Викку» Винайакрамом в 1973 году. Группа исполняла акустический фьюжн, сочетая индийскую музыку с элементами джаза, перестала существовать в 1978 году, и только в 2020 году собралась вновь в немного измененном составе.
YouTube
Benik Abovian & Zaven Azibekian — Traditional Musicians From Tavush (Maison Des Cultures Du Monde, 2002)
#traditional#field_recording#dhol#duduk#zurna#sring#dam#Armenia
Опираясь на географическое положение Армении и многонациональную историю Кавказа, армянскую народную музыку можно считать частью ближневосточного музыкального наследия. Однако, на протяжении веков армянская музыка находила свое вдохновение в сельских и пастушеских мелодиях, средневековых христианских религиозных монодиях, а также в городских традициях гусанов — бардов сасанидского, парфийского и, конечно, армянского происхождения. Этот путь дал начало глубокой и разнообразной музыкальной культуре, которая сохраняет свой уникальный характер.
Современные армянские народные музыканты гордятся этим разнообразным наследием, которое значительно обогатилось в XIX и XX веках. Период потрясений того времени, в частности, геноцид 1915 года, а также политика урбанизации в советской Армении, способствовали тому, что народная музыка, как сельская, так и городская, была сохранена и увековечена деревенскими музыкантами.
Тавушская область, расположенная на северо-востоке Армении, недалеко от границ с Грузией и Азербайджаном, не является исключением. Как и во многих других регионах Армении, народная музыка здесь до сих пор исполняется в деревнях во время свадеб, фестивалей и похорон.
Последователи древних традиций, гусаны Беник Абовян и Завен Азибекян признаны одними из лучших исполнителей тавушской народной музыки. В 2001 году в деревне Кирантц и городке Ноемберян Николас Бергер записал игру музыкантов для французского Института мировых культур. В течение всего альбома звучат импровизации музыкантов на разнообразных духовых инструментах, таких как зурна, дудук и сринг, сопровождаемые ритмами доула.
🔗Spotify | AppleMusic | Telegram
The Ensemble Of Rahim Takhari — Shirin Dahani / Sweet Lips: Music of North Afghanistan (Pan Records, 1996)
#traditional#rubab#dhol#zerbaghali#ghaychak#dutar#dambura#Afghanistan
«Shirin Dahani», что значит «сладкоголосие», — редкая запись, посвященная музыкальным традициям севера Афганистана. Там эта страна граничит с Таджикистаном и Узбекистаном, поэтому в музыке можно услышать влияние фольклорных традиций этих стран, а персидский элемент представлен ярче, чем на юге. Музыку на этом альбоме исполняет ансамбль Рахима Тахари, певца, исполнителя на дутаре и гайчаке. В его ансамбле также есть рубаб, дамбура, зербагали и дол. Исполнитель на рубабе, кстати, учился у знаменитого Устада Мохаммада Омара. Все песни исполнены на языке дари. Некоторые из них являются положенными на музыку газелями и рубаями, а некоторые — народными произведениями. Часть инструментальных композиций позаимствована из узбекских и пуштунских песен.
Spotify | AppleMusic | Soundcloud