0

我有一个用 C# 4.0 编写的 Windows 服务,它使用 Microsoft Exchange WebServices(EWS) 来处理服务邮箱中的电子邮件。读取电子邮件并根据某些条件将一些数据插入到 oracle 数据库中。

Windows 服务计划每 5 分钟运行一次。我正在使用 Quartz.Net API 进行调度,每分钟触发设置为 5。

我有个问题。如果我现在启动服务并且它正在处理电子邮件并且需要超过 5 分钟,因为我们已经安排 i 每 5 分钟运行一次,会发生什么?

由于 5 分钟的时间表,是否会有两个进程运行旧的进程,而新的进程刚刚启动?

4

1 回答 1

0

除非作业类实现了IStatefulJob接口,否则Quartz 将同时运行作业触发器。这意味着除非您在您的作业类上实现该接口,否则触发器将相互重叠。

// implement the interface and all will be fine.
public class MyJob: IStatefulJob
{
   ....
}

来源:http: //quartznet.sourceforge.net/apidoc/1.0/html/topic142.html

于 2012-08-12T15:06:30.967 回答