Недавно делал быстрый прототип асинхронного приложения в котором требовалось вызывать много синхронного кода. Да, я знаю, что это не лучший дизайн, но нужно было быстрое решение на один процесс и без очередей. Поэтому я выполнял код в потоках.
Выглядело это примерно так:
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
In germany there is a group called FreieDeutscheGesellschaft.org
Experimenting with the LoRa technology.
https://t.me/FDG_Portal
loRa is super effective in Cities, but not in the countryside.
Therefore we switched to the Reticulum Protocol, which allows us to use litte computers like raspberrypi as Gateways, for connecting Lora, CB, Wifi and even more.
First we tried Meshtastic, but there were many problems with messaging using many nodes.
Nodes not waking up after sleeping for some time.
And many problems with the APP, and interoperabilities.
So we decided to stop the complete Process, because we needed a strong base first, before expanding.
We found reticulum was better in many ways for this usecase, since then we are using it.
https://github.com/markqvist/Reticulum
Hw list:
https://t.me/NoGoolag/11676
#communications#im#lora
Corporate Communications Manager for Cartier (Dubai)
Cartier has a unique opportunity to join our regional team as Corporate Communications Manager, supporting all corporate communication for the MEIA region. In this role you will support the development and implementation of the corporate communications strategy that builds and maintains a positive corporate brand (Cartier commitments, Diversity, Equity & Inclusion, Art & Culture).
The functions will include: development of an annual editorial calendar that will cover all topics relevant to Cartier and its international, regional and local commitments; support for all corporate communications on various online and print platforms, including LinkedIn, Twitter and trade magazines.
Подробнее по ссылке
#communications#cartier#dubai
Если вам интересны топ вакансии с возможностью релокации в Арабские Эмираты, Саудовскую Аравию, Катар, Бахрейн, Кувейт, подпишитесь на наш канал
📌CPDLC — когда пилоты пишут, а не говорят
Радиосвязь — привычный способ общения пилота и диспетчера. Но в некоторых зонах мира, особенно над океаном, она заменяется цифровой связью — CPDLC (Controller-Pilot Data Link Communications).
🧠 Что это такое?
CPDLC — это обмен короткими текстовыми сообщениями между экипажем и диспетчером. Выглядит как мессенджер в кабине:
✈️ диспетчер отправляет сообщение — «Climb FL380»
👨✈️ пилот нажимает «Wilco» (выполню) — и всё, никаких переговоров по радио.
🛰Зачем это нужно?
⏺На эшелонах и в океанических зонах голосовая связь часто недоступна или перегружена.
⏺CPDLC уменьшает нагрузку на радиоэфир и исключает ошибки из-за акцентов, помех или заговорённости частот.
⏺Все сообщения фиксируются в системе — исключён фактор «не так понял».
💬Как это работает?
📌CPDLC используетсяпочти по всему миру, исключая несколько стран
Пилот и диспетчер подключаются к одной и той же системе, и весь обмен происходит через спутник или наземную станцию. Занимает это несколько секунд, а результат — высокая точность и спокойствие в эфире.
❓Интересный факт
Некоторые авиакомпании уже полностью перешли на CPDLC в дальнемагистральных рейсах, а в Европе в будущем планируется обязательное использование в верхнем воздушном пространстве. Так что «поговорить» по радио получится не всегда
🔔 Пишите в комментариях: знали ли вы, что у пилотов есть свой «авиа-мессенджер»?
Легкое Небо
#ATC#pilot#CPDLC#communications