【发布时间】:2015-08-13 19:10:55
【问题描述】:
private void WorkerThread()
{
AppConsole.Log("Restarter Worker Thread Started", ConsoleColor.Green);
DateTime nextRestart = GetRestartTime(); //--- Fetch next restart
AppConsole.Log(String.Format("Selected next restart date: {0}", nextRestart.ToString("F")), ConsoleColor.Green);
_workerRunning = true;
while (_workerRunning) {
_waitHandle.WaitOne(1000);
TimeSpan timeLeft = nextRestart.Subtract(DateTime.Now);
SendMessage(String.Format("Time until next restart: {0} hours, {1} minutes, {2} seconds.",
timeLeft.Hours, timeLeft.Minutes, timeLeft.Seconds));
if (timeLeft.CompareTo(TimeSpan.Zero) < 0)
DoRestart();
}
基本上,如果服务器距离重新启动超过 10 分钟,我需要每 5 分钟输出一条消息,如果服务器距离启动不到 10 分钟,我需要每 2.5 分钟输出一条消息。我只是想知道最好的方法是什么。
干杯
【问题讨论】: