Недавно делал быстрый прототип асинхронного приложения в котором требовалось вызывать много синхронного кода. Да, я знаю, что это не лучший дизайн, но нужно было быстрое решение на один процесс и без очередей. Поэтому я выполнял код в потоках.
Выглядело это примерно так:
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
'Okkupert', distopía noruega antirrusa
La serie que recomendamos hoy puede parecer muy actual, dado el clima de rusofobia que se respira en Occidente, y, sobre todo, en sus medios de comunicación: un país europeo es víctima de una invasión rusa.
La trama de 'Okkupert' ('Occupied') (2015-2020) comienza con la elección soberana del Gobierno noruego de renunciar a los combustibles fósiles en favor del torio y en ese momento, el guion da un giro distópico en el que Occidente, encabezado por la Unión Europea, da un golpe para que Oslo continúe bombeando petróleo y gas a sus socios y para ello utilizan a Rusia de ariete.
La UE obligará a Oslo a cumplir con el suministro, haciendo que Rusia ocupe el país y controle pozos y plataformas y se despliegue en el territorio. De esa forma comienza un sentir patriótico noruego para sacar a los rusos, aunque a lo largo de la serie queda claro que los enemigos son los europeos y los propios noruegos…
Cualquier parecido con la tensión actual es pura coincidencia…
En algunos países las 3 temporadas están disponibles en Netflix, Apple TV o Amazon Prime Video.
¿Por cierto creen que un escenario así podría darse y más cuando ha sido Noruega la que colaboró con la voladura del gasoducto Nord Stream, según un galardonado periodista estadounidense?
#Series
Síguenos si amas el cine y las series:
🎥Luces, cámara y ¡acción!
Короче
Я посмотрела 8 серий "Мыши" и я дропаю
Скучилищно и нелогично
А ещё персонаж, который мне единственный понравился, умер. В общем, я не поняла гениальности задумки
#Series@small_syzrann
Вчера досмотрела шестую серию "Мыши".
Могу сказать, что мне нравится, даже очень. Сюжет интересный, хотя мне немножко не хватает "вотэтоповоротов".
Плоттвист в конце шестой серии я предугадала, потому что как будто бы в целом это было ожидаемо, но всё равно интересно, как это будут разруливать дальше.
#Series@small_syzrann
Самое главное и самое часто употребляемое слово в "Триггере" это...щибаль, конечно же >DDD
Мне кажется, здесь это самое универсальное слово. Щибаль? Щибаль!
#Series@small_syzrann
Я так ждала "Дорогу личи", а она оказалась капец какой скучной. Смотрю 5ю серию и жду где будет роад стори. Потому что пока что тут дохуя неясные политические интриги, которые я без контекста не понимаю. А чтобы понимать контекст, нужно понимать период правления Тяньбао и чо там происходило. Пока что тут все пытаются друг друга подсидеть и сохранить свою жопу. И всё это ужасно муторно и скучно.
#Series
Блиать. Простите это очень смешно и очень черно
8 серия "Злого духа", девочки празднуют экзамен
Сэми: это злой дух велел тебе соблазнить Хонсэ?
Санён: а?
Сэми: Я дала шанс признаться, а ты не хочешь. Ты сидела рядом с ним и улыбалась вот так ☺️🤭 Затем припала к его плечу и прошептала что-то на ухо
Что в это время шептала Санён:
#series
Итак, я почти пришла в себя и начала смотреть "Личи Чанъаня" попутно с корейским "Злым духом".
По итогу первых полутора серий можно смело дать сериалу второе название "Сдохни или умри"
#series
Уже 11 лет прошло, а Марти и Раст все еще куда-то едут... >DDD
(Если вы не смотрели первый сезон "Настоящего детектива", то настоятельно советую посмотреть).
#series