Три способа выполнить множество задач с 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
Various Artists — Indian Talking Machine (Sublime Frequencies, 2021)
#traditional#khyal#carnatic#dhrupad#hindustani#thumri#India
С 2012 по 2013 год Роберт Миллис работал старшим научным сотрудником программы Фулбрайт в Индии, где изучал индийскую индустрию звукозаписи. Самые ранние записи в этой стране были сделаны еще в 1902 году. Это один из первых незападных аванпостов индустрии звукозаписи. В декабре 2015 года Sublime Frequencies опубликовали книгу Миллиса, в приложение к которой вошли два диска с музыкой из его коллекции индийских шеллаковых грампластинок, выпущенных в период с 1903 по 1949 год. На альбоме можно услышать виртуозные инструментальные соло и вокальные произведения, народную музыку и записи театральных представлений. Отцифровкой пластинок занимался Джонатан Уорд (Excavated Shellac), а мастерингом – Майкл Грейвс (Analog Africa, Dust-to-Digital, Hank Williams Garden Spot Recordings).
🔗Bandcamp
Устад Сарханг исполняет «Встань и принеси пару бокалов вина (خیزید و یک دو ساغر مینا بیاورید)»
#hindustani#klasik#khyal#thumri#tarana#ghazal#Afghanistan
Мохаммад Хусейн, позже прославившийся как Устад Сараханг, родился в 1924 году в Харабате, самом музыкальном районе Кабула. Его отец, Устад Голам Хуссейн, познакомил мальчика с индийской классической музыкой, после чего Мохаммад отправился в Британскую Индию и продолжил учёбу под руководством Устада Ашика Али Хана.
После 16 лет обучения Мохаммад вернулся в Кабул. В 1949 году в возрасте 25 лет он получил титул «мастер» или «устад (استاد)» за своё выступление на музыкальном фестивале в кинотеатре «Памир», а позднее афганское правительство присвоило ему титул «композитор» или «сараханг (سرآهنگ)».
В Афганистане Устад Сараханг посвятил себя преподаванию музыки. Среди его учеников — Хаджи Хоршад, Шариф Газаль, Наим Назари. Кроме того, Сараханг написал несколько статей для газеты «Пуштунский голос (پښتون غږ)» и две книги, «Закон о музыке (قانون طرب)» и «Музыка раги (موسیقی راگ ها)». Сараханг выступал в различных жанрах, включая кхаял, тумри и тарану. В его репертуаре можно было услышать газели на слова Амира Хусрова и Абд аль-Кадир Бедиля, а в Кабульских чайханах он проводил время за обсуждением поэзии в компании своего друга, мистика и знатока поэзии Канди Ага.
Устад приобрел международную популярность после выступлений в СССР, Пакистане и Индии. Во время его последнего визита в музыкальную школу Аллахабада в Индии, женщины склонили головы, образовав дорогу из своих волос — таким образом они хотели продемонстрировать своё уважение к Устаду.
Во время последней поездки в Индию в 1982 году Сараханг перенёс сердечный приступ. Несмотря на то, что врачи советовали ему воздержаться от пения, он не перестал выступать. В 1983 году с ним случился ещё один инфаркт, после чего он скоропостижно скончался, оставив после себя богатое музыкальное наследие.
В 2021 году Хамид Хами выпустил биографию Сараханга «Душа Харабата (جان خرابات)».