gpt4 book ai didi

c# - 正确等待每小时轮询加载文件直到特定时间

转载 作者:行者123 更新时间:2023-11-30 22:15:09 24 4
gpt4 key购买 nike

我想知道下面的代码片段是否是正确的方法:

Logger.Debug("Check file exists for corresponding path: {0}.", filePath);
var timeDeadline = DateTime.Today + Settings.Default.FileDeadline; //Timespan type
while (!File.Exists(filePath))
{
if (DateTime.Now > timeDeadline)
Logger.Error("The file is not available: {0}.", filePath);
Logger.Info("The file is not yet available. Waiting for 1 hour...");
Thread.Sleep(TimeSpan.FromHours(1));
}

此代码的目的是使用 Windows 任务计划程序在清晨安排它加载一个文件,该文件通常在 9:00 左右出现,但可能会延迟几个小时,最后需要在 14:30 之前完成(FileDeadline ) 如果仍然丢失,我会将丢失的文件报告为错误。

我也可以每小时抛出一个异常并允许 Windows 任务每小时重新启动进程,但我认为最好让 C# 拥有进程的所有控制权。缺点是线程休眠一小时,计划任务运行数小时。我不介意使用的资源是否可以忽略不计,但我认为一些更有经验的程序员可能有更优雅的解决方案。

最佳答案

Thread.Sleep 是个坏主意,请使用计时器 (System.Timers) 来完成这项工作。参见 http://msdn.microsoft.com/en-us/library/system.timers.timer.aspx有关Timer类的信息

关于c# - 正确等待每小时轮询加载文件直到特定时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18142637/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com