Недавно делал быстрый прототип асинхронного приложения в котором требовалось вызывать много синхронного кода. Да, я знаю, что это не лучший дизайн, но нужно было быстрое решение на один процесс и без очередей. Поэтому я выполнял код в потоках.
Выглядело это примерно так:
from fastapi.concurrency import run_in_threadpool
async def execute(data: DataRequest) -> DataResponse:
try:
result = await run_in_threadpool(sync_function, data)
return DataResponse(data=result)
except Exception as e:
return DataResponse(
error=str(e),
success=False,
)
В общем работает нормально. Для всех вызовов под капотом используется общий тредпул, всё работает предсказуемо.
Но потребовалось изменить количество запускаемых в пуле потоков (по умолчанию создается 40 воркеров).
Так как дело происходит с FastAPI, делается это через lifespan используя настройки anyio:
import anyio
@asynccontextmanager
async def lifespan(app: FastAPI):
limiter = anyio.to_thread.current_default_thread_limiter()
limiter.total_tokens = 100
yield
# если вдруг нужно вернуть обратно
limiter.total_tokens = 40
Зачем менять количество воркеров?
- уменьшить, если оперативки мало (один тред занимает ~8мб)
- увеличить чтобы выдержать нагрузку
Если есть предложения получше при тех же вводных - предлагайте😉
#async
🌷🌼🌹Lotte начинает движение в сторону весны
Волшебный автобус, увитый цветами, припарковался около центрального универмага 🇰🇷Lotte Shopping где-то в виртуальной вселенной.
Работа digital-художницы Ноэль ван Дайк (@noellevandijk) к сезонной рекламной кампании 𝐖𝐨𝐧𝐝𝐞𝐫 𝐃𝐫𝐞𝐚𝐦𝐬 с использованием генеративного искусственного интеллекта сочетает реалистичные и виртуальные графические элементы, чтобы образно передать фантастическую красоту весны.
Источник @lotteshopping
#lotte#seasonal#реклама
Привеееет привет, дорогие!! 🤗
Ох, как долго я не выкладывала новые посты, но за это время я приготовила несколько вкусных корейских блюд, засняла их и скоро выложу для Вас рецепты))
А сегодня я хочу рассказать Вам о Lotte World Tower ☝🏼
Будучи современным символом Сеула, Lotte World Tower интересно переплетается с корейской кухней и культурой, хоть и не так очевидно, как исторические достопримечательности. Башня настолько высокая, что ее хорошо видно с разных уголков Сеула ☝🏼
Расскажу несколько интересных фактов.
Гастрономический рай: Внутри Lotte World Tower расположено множество ресторанов, представляющих как традиционную корейскую кухню, так и современные гастрономические тренды. От изысканного ханджонсик (традиционный корейский обед из множества блюд) до уличной еды, башня предлагает посетителям полное погружение в кулинарное разнообразие Кореи.
Культурные мероприятия и выставки:
В Lotte World Tower часто проводятся различные культурные мероприятия, выставки и фестивали, посвященные корейским традициям, искусству и истории.
Архитектура и дизайн с корейскими мотивами:
Хотя дизайн башни в целом современный, в нем можно найти и отсылки к корейской культуре. Например, форма башни - вдохновленная керамикой и каллиграфией.
Шопинг - часть корейской культуры:
Вы знали, что Юж. корейцы жуткие шопоголики?)) 🛒🛍️🧾
Lotte World Mall, примыкающий к башне, является одним из крупнейших торговых центров в Корее и предлагает огромный выбор товаров, включая продукцию корейских дизайнеров и брендов.
Место встречи и общения: Lotte World Tower стала популярным местом встреч и общения как для местных жителей, так и для туристов.
Хотя Lotte World Tower – это ультрасовременное здание, оно старается гармонично вписываться в культурный контекст Кореи, предлагая посетителям уникальную возможность познакомиться с разными гранями этой страны.
Если Вы ещё не были в Корее, обязательно посетите эту страну утренней свежести 🇰🇷
#Korea#seoul#lotte_world_tower#lotte#kim_chi_kim
Roam Team Joins Coinbase, Shutting Down
Roam, a blockchain search engine, will shut down its products to join Coinbase. Key executives, including CEO, CTO, and CPO, are also moving to Coinbase to boost its on-chain consumer division. Read more
📊 Notable Transactions:
- 89,114,400 #XLM (valued at $38.6M) transferred between unknown wallets. Details
📈 Bithumb adds Korean Won trading pairs for DEEP token on Sui network. Details
🎮 Lotte Group gets largest grant from Arbitrum for its metaverse gaming platform Caliverse. Amount undisclosed. Read more
🌍 BIT Mining seals $14M deal with Ethiopia for a 51-MW facility and 18,000 mining machines, capitalizing on the country's low energy costs. Read more
#Blockchain#Coinbase#XLM#Crypto#DEEP#Sui#Arbitrum#Lotte#Metaverse#BITMining#Ethiopia#Bitcoin#DEX#CLOB#Gaming#Hydropower#Finance#News#Update#VC