Недавно делал быстрый прототип асинхронного приложения в котором требовалось вызывать много синхронного кода. Да, я знаю, что это не лучший дизайн, но нужно было быстрое решение на один процесс и без очередей. Поэтому я выполнял код в потоках.
Выглядело это примерно так:
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
#AAPL#MP
❓ Помните я говорил про проблему для Запада в теме редкозёмов? А именно о зависимости от Китая в переработке? Похоже, данную проблему взялись решать.
👉 Apple сообщила о выделении $500 млн на «запуск совершенно нового завода по переработке редкоземельных элементов».
👉 В рамках этого проекта производитель iPhone будет сотрудничать с американской компанией MP Materials.
👉 Apple возьмёт на себя обязательства по закупке редкоземельных металлов, которые MP Materials будет производить на предприятии в Форт-Уэрте (штат Техас).
👉 Планируются новые производственные линии для выпуска неодимовых магнитов, специально разработанных для продукции Apple.
👉 Кроме того, партнёры развернут«передовую линию по переработке редкоземельных элементов» в Маунтин-Пассе (штат Калифорния), а также будут совместно работать над созданием новых технологий и повышением эффективности производства магнитов.
Заявление о новых инвестициях было сделано на фоне продолжающегося давления на Apple со стороны администрации президента США, которая стремится заставить компанию перенести производство iPhone на территорию страны.
Tradfin: *CHINA WILL 'ADDRESS' U.S. CONCERNS REGARDING SUPPLY CHAIN SHORTAGES RELATED TO RARE EARTHS AND OTHER CRITICAL MINERALS: WH FACT SHEET
#MP • #USAR
Tradfin: *中国将“解决”美国对稀土及其他关键矿产供应链短缺的担忧:白宫情况说明书
————————————
2026-05-18 01:18:21
Tradfin: *US TRADE REPRESENTATIVE GREER: PREPARING TEXT FOR 'PLURI-LATERAL' AGREEMENT WITH A 'SELECT GROUP' ON CRITICAL MINERALS, INCLUDING A PRICE FLOOR
#MP • #USAR
Tradfin: 美国贸易代表格里尔:正在准备与“特定国家集团”就关键矿产达成“多边”协议文本,其中包括价格下限。
————————————
2026-04-17 01:20:53
#Svezia#NATO
Con 269 voti a favore e 37 contro, il parlamento svedese ha approvato la proposta che consente al Paese di aderire alla NATO.
43 i deputati assenti, mentre gli unici contrari provengono da #V|LEFT e #MP|G/EFA.
@OsservatorioEsteri
#Svezia
Märta #Stenevi (#MP|G/EFA): "Un referendum sull'adesione alla #NATO rischia molto di essere ridotto alla questione del sì o del no. Pensiamo invece di aver bisogno di una discussione più ampia su come dovrebbe essere la politica di sicurezza della Svezia e su come dovremmo lavorare per la pace."
@UltimoraPolitics
#Svezia
Märta #Stenevi (#MP|G/EFA): "La Svezia dovrebbe essere al di fuori dell'alleanza militare della #NATO anche se la #Finlandia si unisce. Senza l'adesione alla NATO, la Svezia può prendere posizione su una determinata situazione. Se, d'altra parte, diventiamo membri a pieno titolo, non abbiamo più questa opportunità e penso che sia importante per noi essere in grado di essere una voce forte per la pace e la democrazia nel mondo."
@UltimoraPolitics
#Svezia#Valet2022
Secondo i primi exit poll, il blocco di centrosinistra formato da #S|S&D, #V|LEFT, #C|RE e #MP|G/EFA manterrà la maggioranza parlamentare con il 50,6% dei voti. Tali partiti sostengono Magdalena #Andersson (#S|S&D) come primo ministro
@UltimoraPolitics
#Spagna#Andalusia
Caos durante la presentazione delle candidature alle prossime elezioni regionali andaluse. Membri di #Podemos|LEFT confermano che la loro dirigenza è arrivata in ritardo alla presentazione e non ha potuto presentare i documenti necessari per candidarsi prima di mezzanotte. Nelle liste elettorali compaiono come iscritti #MP|Sinistra, #IzA|Regionalisti, #IU|LEFT e #AV|Verdi, ma non il partito viola. Secondo fonti dei giornali locali, dal partito sperano di poter porre rimedio alla situazione, anche se ora la questione è nelle mani del Consiglio Centrale Elettorale, che dovrà pronunciarsi.
@UltimoraPolitics