Orchard CMS自定义后台工作

时间:2014-06-19 14:35:03

标签: orchardcms orchardcms-1.7

我在instruction之后创建了自定义后台作业。

您还可以看到discussion regarding this problem

每分钟都会调用创建的任务处理程序和任务构造函数。从不调用过程方法。另外我得到超时异常“Orchard.Tasks.BackgroundService - 处理后台任务时出错”。

有趣的是,可以添加新任务,但任何查询都不起作用。

我检查了表Scheduling_ScheduledTaskRecord,它被锁定了。我在代码和SQL管理界面中遇到超时异常。一旦我关闭网站流程,锁就会被释放。

1 个答案:

答案 0 :(得分:1)

您正在描述在后台运行的计划任务。 为了触发Process的执行,你需要缩减第一个任务(从而启动循环)。使用 DateTime.UtcNow 来安排任务。

您也可以这样使用后台任务:

public class MyBackgroundService : IBackgroundTask {

    public MyBackgroundService() {
    }

    public void Sweep() {
        //Background task execution
        //DO some work
    }
}

Sweep()将每60秒执行一次。我不知道这是否适合您,因为即使上一个任务仍在运行,这也会每分钟执行一次。