mirror of
https://github.com/SagerNet/sing-box.git
synced 2026-10-25 13:52:08 +00:00
Fix usage and cache files overwritten when loading fails
This commit is contained in:
parent
a691a44023
commit
f9fcb8964f
3 changed files with 34 additions and 35 deletions
|
|
@ -201,17 +201,6 @@ func (s *Service) Start(stage adapter.StartStage, scope *adapter.Scope) error {
|
|||
return nil
|
||||
}
|
||||
|
||||
if s.usageTracker != nil {
|
||||
scope.Add(func() error {
|
||||
s.usageTracker.cancelPendingSave()
|
||||
saveErr := s.usageTracker.Save()
|
||||
if saveErr != nil {
|
||||
s.logger.Error("save usage statistics: ", saveErr)
|
||||
}
|
||||
return nil
|
||||
})
|
||||
}
|
||||
|
||||
s.userManager.UpdateUsers(s.users)
|
||||
|
||||
credentials, err := platformReadCredentials(s.ctx, s.credentialPath)
|
||||
|
|
@ -223,7 +212,17 @@ func (s *Service) Start(stage adapter.StartStage, scope *adapter.Scope) error {
|
|||
if s.usageTracker != nil {
|
||||
err = s.usageTracker.Load()
|
||||
if err != nil {
|
||||
s.logger.Warn("load usage statistics: ", err)
|
||||
s.logger.Error("load usage statistics: ", err, ", usage tracking and saving disabled")
|
||||
s.usageTracker = nil
|
||||
} else {
|
||||
scope.Add(func() error {
|
||||
s.usageTracker.cancelPendingSave()
|
||||
saveErr := s.usageTracker.Save()
|
||||
if saveErr != nil {
|
||||
s.logger.Error("save usage statistics: ", saveErr)
|
||||
}
|
||||
return nil
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -222,17 +222,6 @@ func (s *Service) Start(stage adapter.StartStage, scope *adapter.Scope) error {
|
|||
return nil
|
||||
}
|
||||
|
||||
if s.usageTracker != nil {
|
||||
scope.Add(func() error {
|
||||
s.usageTracker.cancelPendingSave()
|
||||
saveErr := s.usageTracker.Save()
|
||||
if saveErr != nil {
|
||||
s.logger.Error("save usage statistics: ", saveErr)
|
||||
}
|
||||
return nil
|
||||
})
|
||||
}
|
||||
|
||||
s.userManager.UpdateUsers(s.users)
|
||||
|
||||
credentials, err := platformReadCredentials(s.ctx, s.credentialPath)
|
||||
|
|
@ -244,7 +233,17 @@ func (s *Service) Start(stage adapter.StartStage, scope *adapter.Scope) error {
|
|||
if s.usageTracker != nil {
|
||||
err = s.usageTracker.Load()
|
||||
if err != nil {
|
||||
s.logger.Warn("load usage statistics: ", err)
|
||||
s.logger.Error("load usage statistics: ", err, ", usage tracking and saving disabled")
|
||||
s.usageTracker = nil
|
||||
} else {
|
||||
scope.Add(func() error {
|
||||
s.usageTracker.cancelPendingSave()
|
||||
saveErr := s.usageTracker.Save()
|
||||
if saveErr != nil {
|
||||
s.logger.Error("save usage statistics: ", saveErr)
|
||||
}
|
||||
return nil
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -97,18 +97,19 @@ func (s *Service) Start(stage adapter.StartStage, scope *adapter.Scope) error {
|
|||
}
|
||||
err := s.loadCache()
|
||||
if err != nil {
|
||||
s.logger.Error(E.Cause(err, "load cache"))
|
||||
s.logger.Error("load cache: ", err, ", saving disabled")
|
||||
} else {
|
||||
saveTicker := time.NewTicker(1 * time.Minute)
|
||||
scope.Add(func() error {
|
||||
saveTicker.Stop()
|
||||
saveErr := s.saveCache()
|
||||
if saveErr != nil {
|
||||
s.logger.Error(E.Cause(saveErr, "save cache"))
|
||||
}
|
||||
return nil
|
||||
})
|
||||
go s.loopSaveCache(scope.Context(), saveTicker)
|
||||
}
|
||||
saveTicker := time.NewTicker(1 * time.Minute)
|
||||
scope.Add(func() error {
|
||||
saveTicker.Stop()
|
||||
saveErr := s.saveCache()
|
||||
if saveErr != nil {
|
||||
s.logger.Error(E.Cause(saveErr, "save cache"))
|
||||
}
|
||||
return nil
|
||||
})
|
||||
go s.loopSaveCache(scope.Context(), saveTicker)
|
||||
if s.tlsConfig != nil {
|
||||
err = s.tlsConfig.Start()
|
||||
if err != nil {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue