2026-04-25 01:18:30 +08:00

46 lines
801 B
Go

package main
import (
"context"
"flag"
"log"
"os/signal"
"syscall"
"hyapp/services/wallet-service/internal/app"
"hyapp/services/wallet-service/internal/config"
)
// main 启动 wallet-service。
func main() {
configPath := flag.String("config", "services/wallet-service/configs/config.yaml", "path to wallet-service config")
flag.Parse()
cfg, err := config.Load(*configPath)
if err != nil {
log.Fatal(err)
}
application, err := app.New(cfg)
if err != nil {
log.Fatal(err)
}
ctx, stop := signal.NotifyContext(context.Background(), syscall.SIGINT, syscall.SIGTERM)
defer stop()
errCh := make(chan error, 1)
go func() {
errCh <- application.Run()
}()
select {
case <-ctx.Done():
application.Close()
case err := <-errCh:
if err != nil {
log.Fatal(err)
}
}
}