43 lines
1013 B
Go
43 lines
1013 B
Go
// Command ratatoskr — оркестратор конвейера Ratatoskr (единый бинарь).
|
||
//
|
||
// Запуск: ratatoskr [-config config.yaml]
|
||
// config.yaml ищется в CWD, по умолчанию — env/дефолты.
|
||
package main
|
||
|
||
import (
|
||
"context"
|
||
"flag"
|
||
"fmt"
|
||
"log"
|
||
"os"
|
||
|
||
"github.com/kamelion/ratatoskr-go/internal/app"
|
||
)
|
||
|
||
func main() {
|
||
cfg := flag.String("config", "", "путь к config.yaml (по умолчанию — CWD/config.yaml)")
|
||
version := flag.Bool("version", false, "показать версию и выйти")
|
||
flag.Parse()
|
||
|
||
if *version {
|
||
fmt.Println("ratatoskr-go dev (переезд с Ratatoskr Python)")
|
||
return
|
||
}
|
||
|
||
a, err := app.New(*cfg)
|
||
if err != nil {
|
||
log.Fatalf("app init: %v", err)
|
||
}
|
||
defer func() {
|
||
if a.Store != nil {
|
||
a.Store.Close()
|
||
}
|
||
}()
|
||
|
||
log.Print("ratatoskr: запущен")
|
||
if err := a.Run(context.Background()); err != nil {
|
||
log.Fatalf("app run: %v", err)
|
||
}
|
||
log.Print("ratatoskr: остановлен")
|
||
os.Exit(0)
|
||
} |