Сервер очередей и асинхронный SDK
network.bus / network.bus.async · 0.3.0 · Rust + RabbitMQ · Python 3.12+
Фоновые задачи, подтверждённая доставка, права клиентов, аренда исполнения и контроль ресурсов. История и бизнес-данные остаются в приложениях.
pip install --index-url https://engine.yeti3.ru/sdk/simple/ --extra-index-url https://pypi.org/simple yeti3-bus==0.3.0
Контракт и руководство ↗ · Аудит SDK и порядок переноса ↗ · Пакет SDK ↗ · Управление очередями ↗
Для Python и конструктора
from yeti3_bus.async_client import AsyncClient
async with AsyncClient("http://yeti3-bus:8080", token) as bus:
job = await bus.submit(kind, data, request_key=stable_key)
# Save the ID before polling.
result = await bus.wait(job["id"])Контроль ресурсов
Максимум три экземпляра. Исполнение откладывается при нехватке памяти или высокой нагрузке. В текущем выпуске запущен один экземпляр; автоматическое масштабирование требует отдельной проверки ёмкости хоста.
Защита от повторных действий
Просроченная аренда переводит задачу на сверку. BUS не повторяет платежи и платные GPU-действия автоматически. Отмена ожидания в интерфейсе не означает уничтожение GPU.
Границы выпуска
Асинхронный клиент и сервер очередей выпущены. Перевод всех модулей Engine/GoChain и интерфейсов конструктора продолжается по этапам. Результаты отдельного сканирования не заменяют автотесты и проверку на проде.