Недавно делал быстрый прототип асинхронного приложения в котором требовалось вызывать много синхронного кода. Да, я знаю, что это не лучший дизайн, но нужно было быстрое решение на один процесс и без очередей. Поэтому я выполнял код в потоках.
Выглядело это примерно так:
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
⬛AXELOT помог Toimart организовать процессы на новом складе
Специалисты компании AXELOT разработали бизнес-процессы для сети супермаркетов товаров народного потребления.
Специалисты AXELOT разработали бизнес-процессы и предложили системы хранения, которые позволяют максимально эффективно использовать пространство нового складского комплекса компании Toimart.
Результат — товары с нескольких площадок размещены “под одной крышей”, пространство используется эффективно, склад готов к внедрению WMS🚀
Подробнее о проекте читайте в статье❗
#AXELOT#Toimart#WMS#автоматизация#склад#логистика#ритейл#оптимизация
AXELOT x TOIMART🇰🇿 Новый склад и новые бизнес-процессы🆕
Toimart – это сеть супермаркетов, входящая в состав Группы компаний Sabyrzhan Group, которая на протяжении 25 лет успешно работает в сфере оптовых и розничных продаж товаров народного потребления на территории Республики Казахстан
В рамках дальнейшего развития бизнеса руководство компании запланировало объединить складские подразделения разных направлений бизнеса, находящиеся в разных частях города Алматы, на одной площадке. Проектируемый склад будет иметь площадь более 14.000 кв.м
Примененные системы хранения, разработанная логика и стратегия размещения товаров, а также описанные технологические процессы позволят компании Toimart не только разместить все товары с нескольких площадок на одном складе, но и организовать пространство таким образом, чтобы доступные резервы площади могли быть использованы с различным функциональным назначением🔝
Концепция работы нового склада полностью соответствует требованиям для внедрения WMS.
#AXELOT#TOIMART#KAZAKHSTAN#WAREHOUSE#Склад#Казахстан#Ритейл
🌟 AXELOT преобразил новый склад Toimart!
✅ Компания AXELOT успешно завершила комплексный проект нового склада сети супермаркетов Toimart (ГК «Sabyrzhan Group») площадью 14 000 кв. м с 9 000 SKU!
На первом этапе было выполнено технологическое проектирования нового склада с оптимальными решениями и процессами.
Ранее мы уже рассказывали про данный проект: AXELOT x TOIMART🇰🇿 Новый склад и новые бизнес-процессы🆕
В рамках этапа автоматизации были применены ключевые решения AXELOT WMS:
🔴Автоматическое определение зоны размещения товара (кондиционная продукция, брак, возврат поставщику);
🔴Оптимизация размещения с учётом востребованности товаров (зоны High, Medium, Low);
🔴Автоматизация инвентаризации по чёткому алгоритму (циклическая, внеплановая, с открытыми остатками);
🔴Автоматическое перемещение между зонами (например, в зону утилизации при обнаружении брака);
🔴Автоматическое создание партий при приёмке с фиксацией сроков годности;
🔴Автоматическое пополнение запасов при достижении минимального количества;
🔴Планирование отбора товаров с группировкой по маршрутам и типам.
🚀 Достигнутые результаты:
✔️товар с нескольких площадок размещён на одном складе;
✔️приёмка товара стала проще и точнее;
✔️отгрузка ускорилась в разы;
✔️сократилось время обработки продукции;
✔️уменьшилось количество ошибок;
✔️персонал тратит меньше времени на рутинные задачи.
✔️обеспечена интеграция AXELOT WMS с существующими корпоративными системами.
📈 Проект доказал, что автоматизация склада с помощью AXELOT WMS — это ключ к повышению эффективности логистических процессов!
#AXELOT#Toimart#Казахстан#логистика#автоматизация#склад#WMS#технологическоепроектирование#оптимизацияпроцессов#эффективность