Skip to content

Commit 7b0e8c9

Browse files
lvan100lianghuan
authored andcommitted
111
1 parent 382d9da commit 7b0e8c9

File tree

4 files changed

+17
-18
lines changed

4 files changed

+17
-18
lines changed

gs/app.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -65,7 +65,7 @@ func (s *AppStarter) stopApp() {
6565

6666
// Run starts the application, optionally runs a user-defined callback,
6767
// and waits for termination signals (e.g., SIGTERM, Ctrl+C) to trigger graceful shutdown.
68-
func (s *AppStarter) Run(fn ...func(ctx context.Context) error) {
68+
func (s *AppStarter) Run(fn ...func() error) {
6969

7070
// Start application
7171
if err := s.startApp(); err != nil {
@@ -76,7 +76,7 @@ func (s *AppStarter) Run(fn ...func(ctx context.Context) error) {
7676

7777
// Execute user-provided callback after app starts
7878
if len(fn) > 0 && fn[0] != nil {
79-
if err := fn[0](app.Ctx); err != nil {
79+
if err := fn[0](); err != nil {
8080
err = util.WrapError(err, "start app failed")
8181
log.Errorf(context.Background(), log.TagAppDef, "%s", err)
8282
return

gs/gs.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -280,7 +280,7 @@ func Web(enable bool) *AppStarter {
280280
}
281281

282282
// Run starts the application with a custom run function.
283-
func Run(fn ...func(ctx context.Context) error) {
283+
func Run(fn ...func() error) {
284284
new(AppStarter).Run(fn...)
285285
}
286286

gs/internal/gs_app/app.go

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ type App struct {
3939
P *gs_conf.AppConfig // Application configuration
4040

4141
exiting atomic.Bool // Indicates whether the application is shutting down
42-
Ctx context.Context // Root context for managing cancellation
42+
ctx context.Context // Root context for managing cancellation
4343
cancel context.CancelFunc // Function to cancel the root context
4444
wg sync.WaitGroup // WaitGroup to track running jobs and servers
4545

@@ -57,7 +57,7 @@ func NewApp() *App {
5757
return &App{
5858
C: gs_core.New(),
5959
P: gs_conf.NewAppConfig(),
60-
Ctx: ctx,
60+
ctx: ctx,
6161
cancel: cancel,
6262
}
6363
}
@@ -98,7 +98,7 @@ func (app *App) Start() error {
9898
if app.EnableJobs {
9999
for _, job := range app.Jobs {
100100
app.wg.Add(1)
101-
goutil.GoFunc(func() {
101+
goutil.Go(app.ctx, func(ctx context.Context) {
102102
defer app.wg.Done()
103103
defer func() {
104104
// Handle unexpected panics by shutting down the app
@@ -107,8 +107,8 @@ func (app *App) Start() error {
107107
panic(r)
108108
}
109109
}()
110-
if err := job.Run(app.Ctx); err != nil {
111-
log.Errorf(context.Background(), log.TagAppDef, "job run error: %v", err)
110+
if err := job.Run(ctx); err != nil {
111+
log.Errorf(ctx, log.TagAppDef, "job run error: %v", err)
112112
app.ShutDown()
113113
}
114114
})
@@ -121,7 +121,7 @@ func (app *App) Start() error {
121121
for _, svr := range app.Servers {
122122
sig.Add()
123123
app.wg.Add(1)
124-
goutil.GoFunc(func() {
124+
goutil.Go(app.ctx, func(ctx context.Context) {
125125
defer app.wg.Done()
126126
defer func() {
127127
// Handle server panics by intercepting readiness and shutting down
@@ -133,11 +133,11 @@ func (app *App) Start() error {
133133
}()
134134
err := svr.ListenAndServe(sig)
135135
if err != nil && !errors.Is(err, http.ErrServerClosed) {
136-
log.Errorf(context.Background(), log.TagAppDef, "server serve error: %v", err)
136+
log.Errorf(ctx, log.TagAppDef, "server serve error: %v", err)
137137
sig.Intercept()
138138
app.ShutDown()
139139
} else {
140-
log.Infof(context.Background(), log.TagAppDef, "server closed")
140+
log.Infof(ctx, log.TagAppDef, "server closed")
141141
}
142142
})
143143
}
@@ -158,13 +158,13 @@ func (app *App) Start() error {
158158
// and then gracefully stops all servers and jobs.
159159
func (app *App) WaitForShutdown() {
160160
// Wait until the application context is cancelled (triggered by ShutDown)
161-
<-app.Ctx.Done()
161+
<-app.ctx.Done()
162162

163163
// Gracefully shut down all running servers
164164
for _, svr := range app.Servers {
165-
goutil.GoFunc(func() {
166-
if err := svr.Shutdown(app.Ctx); err != nil {
167-
log.Errorf(context.Background(), log.TagAppDef, "shutdown server failed: %v", err)
165+
goutil.Go(context.Background(), func(ctx context.Context) {
166+
if err := svr.Shutdown(ctx); err != nil {
167+
log.Errorf(ctx, log.TagAppDef, "shutdown server failed: %v", err)
168168
}
169169
})
170170
}

gs/internal/gs_app/app_test.go

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,6 @@ import (
2222
"errors"
2323
"net/http"
2424
"os"
25-
"runtime/debug"
2625
"testing"
2726
"time"
2827

@@ -38,8 +37,8 @@ import (
3837
var logBuf = &bytes.Buffer{}
3938

4039
func init() {
41-
goutil.OnPanic = func(ctx context.Context, r any) {
42-
log.Panicf(ctx, log.TagAppDef, "panic: %v\n%s\n", r, debug.Stack())
40+
goutil.OnPanic = func(ctx context.Context, r any, stack []byte) {
41+
log.Panicf(ctx, log.TagAppDef, "panic: %v\n%s\n", r, stack)
4342
}
4443
}
4544

0 commit comments

Comments
 (0)