【发布时间】:2012-03-23 13:50:29
【问题描述】:
我有一个处理 Quartz 作业的 C# Topshelf Windows 服务。这些作业存储在数据库中,如下所示:
public class JobConfiguration : IJobConfiguration {
public string Name { get; set; } //ImportService
public string Type { get; set; } //[ClassName, AssemblyName]
public string CronTrigger { get; set; } //example: 0 0 12 * * ?
public string CronMeaning { get; set; } //example: fire at noon every day
}
现在我必须添加一个只被解雇一次的工作(所有其他工作都必须重复)。我的(临时)解决方案是将 CronTrigger 字段保留为 NULL,并使用 SimpleTrigger 而不是 CronTrigger 启动这些作业,例如:
if (JobConfiguration.CronTrigger == Null)
//start job with Quartz SimpleTrigger
else
//start job with Quartz CronTrigger
有没有更好的解决方案来做到这一点?换句话说:是否有一个 CronTrigger 可以让您只开始一次工作并且永远不会重复。
【问题讨论】:
标签: c# quartz.net crontrigger topshelf