我一直在想,orchard会在60秒后每次扫描时都创建一个新线程吗?
例如,假设你有一个后台任务,它可以是我们将迭代的多个任务:
public class MyBackGroundTask : IBackgroundTask
{
public void Sweep()
{
var AwaitingTasks = _TasksServices.GetAwaitingTasks();
foreach(var awaitingTask in AwaitingTasks)
{
// do something
}
}
}例如,这些任务可能需要30分钟。orchard会在一分钟后为Sweep()创建一个新线程,还是会等待上一个执行的任务结束?
如果是这样的话,我可以采取什么好的方法来创建一个好的排队系统呢?
提前感谢
发布于 2018-06-23 17:12:11
Orchard有一个处理引擎,允许您将长时间运行的任务的处理延迟到后台线程,这可能是您想要的更多?
查看comments模块,CommentsService有一个名为process comment count的方法,它应该是处理引擎如何工作的一个很好的例子。
https://stackoverflow.com/questions/50996254
复制相似问题