Три способа выполнить множество задач с 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
💰#DеньгиDревних
| Веспасиан: как спасти империю от банкротства — и ввести налог на мочу
Когда в 69 году н.э. Веспасиан стал императором, Римская империя была на грани финансового коллапса. Гражданские войны, расточительство Нерона и разгул коррупции опустошили казну. По словам историка Светония, в государственной сокровищнице оставалось менее 1 000 золотых монет — сумма, смехотворная для державы, управлявшей 60 миллионами человек.
Веспасиан, выходец из плебейской семьи (его отец был сборщиком податей), подошёл к кризису не как политик, а как практик и финансист. Он понимал: чтобы восстановить порядок, нужно не только сократить расходы, но и найти новые источники дохода — даже самые неожиданные.
🔸 Налог на всё: от проституции до… мочи
Одним из самых известных решений Веспасиана стало введение vectigal urinae — налога на сбор мочи. В Древнем Риме урина использовалась повсеместно:
— в прачечных ( fullonicae ) — как отбеливатель благодаря аммиаку,
— в кожевенных мастерских — для дубления,
— даже в стоматологии — как антисептик.
Сборщики выкупали право на установку общественных писсуаров ( latrinae ), а затем продавали содержимое ремесленникам. Веспасиан обложил эту цепочку государственным налогом.
Когда его сын Тит возмутился: «Разве можно брать деньги за такую мерзость?» — император поднёс ему монету и спросил: «Пахнет ли она?» Получив ответ «нет», произнёс фразу, ставшую крылатой:
«Pecunia non olet» — «Деньги не пахнут».
🔸 Финансовая реформа как стратегия выживания
Помимо «налога на мочу», Веспасиан:
— вернул в казну конфискованные при Нероне земли,
— ввёл плату за использование дорог и портов,
— наладил систему аренды государственных шахт и карьеров,
— отказался от дорогостоящих зрелищ, заменив их полезными проектами — например, начал строительство Колизея на доходы от добычи в Иудее.
Его подход был прост: каждый актив должен приносить доход. Даже отходы.
🔸 Результат: от банкротства — к процветанию
К моменту смерти в 79 г. н.э. Веспасиан оставил сыну полную казну, стабильную налоговую систему и империю, в которой снова работала экономика. Его реформы стали основой для «золотого века» Антонинов.
Мораль:
Сегодня вы платите за подписку на стриминг, доставку еды и облачное хранилище.
Веспасиан бы просто ввёл налог на ваш Wi-Fi — и сказал: «Деньги не пахнут. Особенно если они спасают цивилизацию».
#DD