基于Quartz cron的任务的常规设置如下所示:
IJobDetail firstJob = JobBuilder.Create<FirstJob>()
.WithIdentity("firstJob")
.Build();
ITrigger firstTrigger = TriggerBuilder.Create()
.WithIdentity("firstTrigger")
.StartNow()
.WithCronSchedule("0 * 8-22 * * ?")
.Build();
FirstJob
是一个从Quartz实现IJob
接口的特定类。在我的情况下,我可能有多个实现该接口的工作类,每个工作类都需要安排特定类型的工作。
因此,我似乎被迫设置尽可能多的作业详细信息实例,因为我有工作类,即重复代码。有没有其他方法可以简化和缩短它并拥有一组作业详细信息对象而不是隐式传递作业类名称?比方说,我所有的工作都会实施CustomInterface : IJob
,我宁愿在某处设置CustomInterface
名称来设置工作细节。
解决。
IJobDetail job = JobBuilder.Create(Type.GetType(jobDetail.JobKey.Name))