Три способа выполнить множество задач с 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
Jovan Radivojev — Just Like That: Serbian Gajdaš (Canary Records, 2024)
#traditional#serbian#bagpipe#gadja#balkan#Serbia
В начале XX века, из-за того, что население США на 14% состояло из иммигрантов, крупные американские звукозаписывающие компании, такие как Columbia и Victor, начали выпускать пластинки на иностранных языках. К 1913 году Columbia выпустила тысячи таких записей, зафиксировав таким образом языковое и культурное разнообразие США того времени.
Этот альбом включает композиции с двух редких пластинок сербского народного певца Йована Радивоева, выпущенных Columbia Records в 1913 году. На них Радивоев исполняет традиционные сербские песни под аккомпанемент гайда (гајде) — балканской волынки, традиционного инструмента пастухов и участников обрядов.
Многие подобные записи с сербской народной музыкой утрачены из-за исторических потрясений, произошедших в Европе, включая две мировые войны. Однако эти записи сохранились благодаря тому, что были выпущены в США. Они дают редкое представление о жизни и музыкальной культуре сербских иммигрантов в начале XX века.
🔗Bandcamp
Gordan — Gordan (Glitterbeat Records, 2024)
#traditional#ambient#krautrock#barabinske#becarci#ojkace#serbian#Serbia#Germany#Austria
Gordan — совместный проект исследовательницы балканской традиционной музыки Светланы Спаич, австрийского перкуссиониста Энди Штехера и немецкого электронного музыканта Гвидо Мёбиуса. Второй альбом коллектива посвящён устным поэтическим формам, бытовавшим в различных регионах бывшей Югославии.
Поэтическая основа альбома — народное стихосложение, характерное для балканских стилей барабинске, бечарци и ойкачe. В отличие от старинных эпических песен, в которых также используется «десетерац» — десятисложная стихотворная форма с цезурой после четвёртого слога, — эти стили обращаются не к героике, а к повседневным темам. Так, Barabinska посвящена вольному, бродяжническому образу жизни, а Krajiška kontra — конфликтам сербов с представителями австрийской власти времён Военной Краины — пограничной территории Габсбургской монархии, созданной для защиты от Османской империи.
Композиция с длинным названием How A Mountain Fairy Divided The Two Jakšić Brothers представляет собой реконструированную бугарштицу — стиль эпической песни, распространённой среди южных славян в XV–XVIII веках. В отличие от других использованных на альбоме форм, бугарштица больше не встречается в живой традиции. Возможно, это первое появление этого стиля в контексте современной популярной музыки.
Композиция Selo Moje была создана Светланой Спаич во время одной из её поездок в село Жегар в Далмации. В работе над песней приняли участие её наставники из этой деревни — на тот момент им было почти девяносто. Финальная версия представляет собой звуковой коллаж, основанный на воспоминаниях Спаич об этой поездке.
Песня Šara основана на традиционном сюжете о трёх пастухах, погибших в горах Шара под лавиной. В интерпретации Gordan она служит отсылкой к репертуару Боры Спужича Кваке — необычного представитель популярной фолк-сцены социалистической Югославии. Именно его версия этой песни приобрела популярность в 1970-х и её стали исполнять в кафанах по всей стране.
Ещё одна песня, Ne spominji oči plave, отсылает к так называемому «андеграунду» поздней Югославии — массовой культуре, которая продавалась миллионными тиражами, но оставалась вне официального канона. Речь идёт о лейблеJužni vetar, специализировавшемся на популярной фолк-музыке с элементами восточной мелодики и синтезаторного звучания. Несмотря на коммерческий успех, эта продукция официально классифицировалась как «шунд» — «низкопробная» или «вредная» продукция. Такие релизы облагались дополнительным налогом, однако именно они составляли значительную часть реального музыкального ландшафта того времени.
Композиция The Bell is Buzzing основана на традиционной любовной песне, в которой рассказ ведется от лица девушки, влюблённой в пастуха. В одних версиях она остаётся с ним, в других — находит другого. В интерпретации Gordan она делает ему предложение.
Завершающая композиция O Nikola посвящена Николе Тесле. Её текст основан на стихотворении, которое Светлана Спаич записала в конце 90-х со слов Милана Билбийи — жителя села Чиркин-Поле на северо-западе Боснии. В песне перечислены изобретения Теслы, затронуты эпизоды его биографии и передано ощущение меланхолии и одиночества, сопровождавших жизнь учёного.
🔗Spotify | AppleMusic | Bandcamp | Telegram