Merge pull request #1377 from DaydreamCoding/fix/lifecycle-stop-duplicate-close
fix(lifecycle): TokenRefreshService Stop() 防重复 close
This commit is contained in:
@@ -33,6 +33,7 @@ type TokenRefreshService struct {
|
||||
proxyRepo ProxyRepository
|
||||
|
||||
stopCh chan struct{}
|
||||
stopOnce sync.Once
|
||||
wg sync.WaitGroup
|
||||
}
|
||||
|
||||
@@ -130,7 +131,9 @@ func (s *TokenRefreshService) Start() {
|
||||
|
||||
// Stop 停止刷新服务(可安全多次调用)
|
||||
func (s *TokenRefreshService) Stop() {
|
||||
s.stopOnce.Do(func() {
|
||||
close(s.stopCh)
|
||||
})
|
||||
s.wg.Wait()
|
||||
slog.Info("token_refresh.service_stopped")
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user