|
6 | 6 | "log/slog" |
7 | 7 | "os" |
8 | 8 |
|
9 | | - "github.com/moukoublen/goboilerplate/internal" |
| 9 | + "github.com/ifnotnil/daemon" |
10 | 10 | "github.com/moukoublen/goboilerplate/internal/config" |
11 | 11 | "github.com/moukoublen/goboilerplate/internal/httpx" |
12 | 12 | "github.com/moukoublen/goboilerplate/internal/logx" |
@@ -44,33 +44,33 @@ func main() { |
44 | 44 |
|
45 | 45 | logger = logx.InitSLog(logx.ParseConfig(cnf)) |
46 | 46 |
|
47 | | - daemon, ctx := internal.NewDaemon( |
| 47 | + dmn := daemon.Start( |
48 | 48 | context.Background(), |
49 | | - logger, |
50 | | - internal.SetShutdownTimeout(cnf.Duration("shutdown_timeout")), |
| 49 | + daemon.WithLogger(logger), |
| 50 | + daemon.WithShutdownGraceDuration(cnf.Duration("shutdown_timeout")), |
51 | 51 | ) |
52 | 52 |
|
53 | 53 | httpConf := httpx.ParseConfig(cnf) |
54 | | - router := httpx.NewDefaultRouter(ctx, httpConf, logger) |
| 54 | + router := httpx.NewDefaultRouter(dmn.CTX(), httpConf, logger) |
55 | 55 |
|
56 | 56 | // init services / application |
57 | 57 | server := httpx.StartListenAndServe( |
58 | 58 | fmt.Sprintf("%s:%d", httpConf.IP, httpConf.Port), |
59 | 59 | router, |
60 | 60 | httpConf.ReadHeaderTimeout, |
61 | | - daemon.FatalErrorsChannel(), |
| 61 | + dmn.FatalErrorsChannel(), |
62 | 62 | ) |
63 | | - logger.InfoContext(ctx, "service started", slog.String("bind", fmt.Sprintf("%s:%d", httpConf.IP, httpConf.Port))) |
| 63 | + logger.InfoContext(dmn.CTX(), "service started", slog.String("bind", fmt.Sprintf("%s:%d", httpConf.IP, httpConf.Port))) |
64 | 64 |
|
65 | 65 | // set onShutdown for other components/services. |
66 | | - daemon.OnShutDown( |
| 66 | + dmn.OnShutDown( |
67 | 67 | func(ctx context.Context) { |
68 | | - logger.InfoContext(ctx, "shuting down http server") |
| 68 | + logger.InfoContext(ctx, "shuting down http server") |
69 | 69 | if err := server.Shutdown(ctx); err != nil { |
70 | 70 | logger.Warn("error during http server shutdown", logx.Error(err)) |
71 | 71 | } |
72 | 72 | }, |
73 | 73 | ) |
74 | 74 |
|
75 | | - daemon.Wait() |
| 75 | + dmn.Wait() |
76 | 76 | } |
0 commit comments