mirror of
https://github.com/shtorm-7/sing-box-extended.git
synced 2026-10-20 08:14:24 +00:00
Fix usage and cache files overwritten when loading fails
This commit is contained in:
+11
-12
@@ -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
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
+11
-12
@@ -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
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
+12
-11
@@ -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 {
|
||||
|
||||
Reference in New Issue
Block a user