【发布时间】:2022-01-04 15:33:23
【问题描述】:
我有一组任务运行相同的作业,但在不同的服务器上使用不同的参数。可能会发生其中一台服务器无响应/缓慢的情况,从而导致所有任务都已完成但只有一个任务完成的情况。目前我正在使用Task.WhenAll() 等待他们,所以别无选择,只能等到我的超时到期。
在理想情况下,所有任务都在超时内完成,我可以收集所有结果,但在另一种情况下,基本上我想等待:
- 直到 n 个任务完成
- 如果 n 个任务已完成,再等待 x 分钟
如果在 n 个任务已经完成并且我们又等待了 x 分钟时,并非所有任务都已完成,我想检索完成的任务。
有什么方法可以实现上述目标吗?
【问题讨论】:
-
你可以使用
Task.WhenAny构建它
标签: c# .net task-parallel-library