将任务延迟很长时间

时间:2020-10-27 11:55:52

标签: c# .net-core

如果我们长时间使用Task.Delay方法延迟任务,比如说6个月,并且如果我们假设操作系统在这段时间内没有关闭或重启,那么是否可以保证相关任务会在正确的时间醒来吗?还是会被操作系统杀死?

1 个答案:

答案 0 :(得分:2)

您不能在这段时间内使用Task.Delaymethod花费了int毫秒,这意味着您可以传入的最大数量为int.MaxValue。这相当于大约24.86天。

根据the docs,也限制了占用TimeSpan的重载:

异常delay参数的TotalMilliseconds属性大于MaxValue

如果您希望任务在更长的时间后发生,那么有更好的工具,例如Hangfire甚至是操作系统任务计划程序。

相关问题