37.2K subscribers
1.52K photos
37 videos
5 files
1.67K links
加入频道
This media is not supported in your browser
VIEW IN TELEGRAM
⚙️ GOscade - минималистичная библиотека для автоматического запуска, остановки и координации зависимостей в Go

Когда в проекте десятки компонентов, требующих запуска, важно соблюдать правильный порядок, проверять готовность и корректно останавливать при критических ошибках или SIGTERM.

goscade делает это за вас:

Автоматически определяет зависимости между компонентами
Запускает их по топологическому порядку, параллельно
Следит за readiness, обрабатывает ошибки и каскадное завершение
Делает graceful shutdown в обратном порядке

Всё, что нужно - реализовать интерфейс и зарегистрировать компонент:

type Component interface {
Run(ctx context.Context, readinessProbe func(error)) error
}


📦 Репозиторий: https://github.com/ognick/goscade