Недавно делал быстрый прототип асинхронного приложения в котором требовалось вызывать много синхронного кода. Да, я знаю, что это не лучший дизайн, но нужно было быстрое решение на один процесс и без очередей. Поэтому я выполнял код в потоках.
Выглядело это примерно так:
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
Месяц AML продолжается
16 сентября был проведен первый вводный инструктаж для специалистов по ПОД/ФТ (AML Foundation), работающих как в казахстанских, так и зарубежных компаниях.
Мы рады, что ряды комплаенс и AML офицеров пополнились новыми перспективными экспертами.
Программа была проведена совместно с AIFC Academy of Law и Compliance Hub.
#compliance#amlcft#amlmonth
Месяц AML продолжается.
Немного полезной информации об отмывании денег с использованием криптовалют.
https://syntheticdrugs.unodc.org/.../moneylaundering.html
#amlmonth#amlcft#cryptocompliance
Месяц AML продолжается.
На прошлой неделе Агентство по финансовому мониторингу сообщило о мероприятиях в рамках комплексной работы по противодействию незаконному игорному бизнесу.
С 2019 года по фактам организации незаконного игорного бизнеса в производстве находилось 1 148 дел, из кторых окончено 940 в отношении 849 лиц.
Благодаря принятым превентивным мерам за последние 5 лет наблюдается снижение в 5,5 раз количества зарегистрированных дел.
Количество ежегодно выявляемых незаконных игровых терминалов снижено в 16 раз – с 1260 до 76.
Также в рамках превентивных мер Агентством с использованием IT-инструментов осуществляется поиск противоправного контента в интернет-пространстве (новостные порталы, блоги, сайты и аккаунты соцсетей). За 2022 год удалось заблокировать 5,5 тыс. сайтов и аккаунтов онлайн-казино. За неполный 2023 год - более 2 тыс. сайтов.
Более подробная информация размещена по следующей ссылке:
https://www.gov.kz/memleket/entities/afm/press/news/details/610743?lang=ru
Compliance Hub со своей стороны рекомендует, при выявлении случаев публикации противоправного контента:
- отправлять жалобу в соответствующей сети;
- отмечать такой контент, например, хештегом #coffeeinvestigation или другим способом, чтобы по такого рода контенту скорее были приняты меры митигации;
- ну и разумеется проводить разъяснительную работу со своими близкими, особенно пожилыми людьми и подрастающим поколением, чтобы повысить их осведомленность о подобного рода схемах развода.
Берегите себя!
#scam#fraud#amlcft#amlmonth
Месяц AML продолжается
Compliance Hub сугубо социальный проект, который призван популяризировать вопросы комплаенс и противодействия отмыванию денег и финансированию терроризма (ПОД/ФТ). Таким образом мы как профессионалы комплаенс хотим внести свой вклад в формирование и развитие антиотмывочной и комплаенс культуры.
Одним из предикатных преступлений отмывания денег является и торговля людьми. Поэтому важно помнить, что создание эффективной системы ПОД/ФТ важно не только для формального исполнения требований законодательства, но и несет в себе важную миссию в борьбе с торговлей людьми.
Более подробно об этом можно почитать на ресурсе UNODC.
https://www.unodc.org/unodc/en/human-trafficking/crime.html
#amlcft#compliance#humanrights#modernslavery#humantrafficking#amlmonth