如果我们长时间使用Task.Delay
方法延迟任务,比如说6个月,并且如果我们假设操作系统在这段时间内没有关闭或重启,那么是否可以保证相关任务会在正确的时间醒来吗?还是会被操作系统杀死?
答案 0 :(得分:2)
您不能在这段时间内使用Task.Delay
。 method花费了int
毫秒,这意味着您可以传入的最大数量为int.MaxValue
。这相当于大约24.86天。
根据the docs,也限制了占用TimeSpan
的重载:
异常:
delay
参数的TotalMilliseconds
属性大于MaxValue
。
如果您希望任务在更长的时间后发生,那么有更好的工具,例如Hangfire甚至是操作系统任务计划程序。