protected override void Cleanup() { setting.isServerTrackerOn = false; if (setting.ShutdownReason == VgcApis.Models.Datas.Enums.ShutdownReasons.Abort) { return; } VgcApis.Libs.Sys.FileLogger.Info("Services.Servers.Cleanup"); VgcApis.Libs.Sys.FileLogger.Info("Services.StopTracking"); lazyServerTrackingTimer?.Timeout(); lazyServerTrackingTimer?.Release(); VgcApis.Libs.Sys.FileLogger.Info("Services.SaveSettings"); serverSaver.DoItNow(); serverSaver.Quit(); // let it go var cores = coreServList; VgcApis.Misc.Utils.RunInBackground(() => { VgcApis.Libs.Sys.FileLogger.Info("Stop cores quiet begin."); foreach (var core in cores) { core.GetCoreCtrl().StopCoreQuiet(); } VgcApis.Libs.Sys.FileLogger.Info("Stop cores quiet done."); }); }
public void LazyGuyTest() { var str = ""; void task() { str += "."; } var adam = new VgcApis.Libs.Tasks.LazyGuy(task, 100); adam.DoItNow(); Assert.AreEqual(".", str); str = ""; adam.DoItLater(); adam.ForgetIt(); Assert.AreEqual("", str); #if DEBUG str = ""; adam.DoItLater(); adam.DoItLater(); adam.DoItLater(); Thread.Sleep(1000); Assert.AreEqual(".", str); str = ""; adam.DoItLater(); Thread.Sleep(300); Assert.AreEqual(".", str); #endif }
protected override void Cleanup() { setting.isServerTrackerOn = false; serverSaver.DoItNow(); serverSaver.Quit(); lazyServerTrackingTimer?.Release(); AutoResetEvent sayGoodbye = new AutoResetEvent(false); StopAllServersThen(() => sayGoodbye.Set()); sayGoodbye.WaitOne(); }
public void Cleanup() { vgcServers.OnCoreClosing -= OnCoreClosingHandler; ReleaseBgStatsDataUpdateTimer(); // Calling v2ctl.exe at shutdown can cause problems. // So losing 5 minutes of statistics data is an acceptable loss. if (!IsShutdown()) { VgcApis.Libs.Sys.FileLogger.Info("Statistics: save data"); UpdateHistoryStatsDataWorker(); bookKeeper.DoItNow(); } bookKeeper.Quit(); VgcApis.Libs.Sys.FileLogger.Info("Statistics: done!"); }
protected override void Cleanup() { setting.isServerTrackerOn = false; if (setting.ShutdownReason == VgcApis.Models.Datas.Enum.ShutdownReasons.Abort) { return; } VgcApis.Libs.Sys.FileLogger.Info("Services.Servers.Cleanup()"); serverSaver.DoItNow(); serverSaver.Quit(); lazyServerTrackingTimer?.Release(); AutoResetEvent sayGoodbye = new AutoResetEvent(false); StopAllServersThen(() => sayGoodbye.Set()); sayGoodbye.WaitOne(); }
public void Cleanup() { bookKeeper.DoItNow(); bookKeeper.Quit(); }
protected override void Cleanup() { luaAcm?.Dispose(); bookKeeper.DoItNow(); bookKeeper.Quit(); }
protected override void Cleanup() { bookKeeper.DoItNow(); bookKeeper.Quit(); }