果园后台任务

时间:2018-06-22 22:22:43

标签: c# orchardcms

我一直想知道,果园在60秒后每次清扫时是否都会创建一个新线程?

例如,假设您有一个后台任务,该任务可以是我们要迭代的多个任务:

public class MyBackGroundTask : IBackgroundTask
{
    public void Sweep()
    {
        var AwaitingTasks = _TasksServices.GetAwaitingTasks();
        foreach(var awaitingTask in AwaitingTasks)
        {
            // do something 
        }
    }
}

例如,这些任务最多可能需要30分钟。果园在一分钟后是否为Sweep()创建新线程,否则他将等待先前执行的任务结束?

如果可以,那么我可以采用什么好的方法来创建一个好的排队系统?

提前感谢

1 个答案:

答案 0 :(得分:0)

果园有一个处理引擎,可让您将长时间运行的任务的处理延迟到后台线程,这可能是您所追求的更多?

在comments模块中,CommentsService有一个称为过程注释计数的方法,该方法可以作为处理引擎如何工作的一个很好的例子。