我有一组日期时间(大约5000个元素),并且希望在每个日期时间执行一个作业。 数组中的日期时间是自定义的,不是定期的,所以我不能使用CronTrigger和其他。 有没有简单的方法来创建一个触发器,将在给定时间触发? 是的,我知道我的工作完成后每次都可以开始一个新的简单触发器(一次触发时间,不重复),但这种方式对我来说并不方便。Quartz.net - 自定义时间的触发器
1
A
回答
1
您可以编写自己的触发器并使用它来执行作业。如果您使用的是v1.0,那么您将不得不创建一个扩展Trigger的类。请查看docs了解更多详情。如果你正在运行v2.0,那么你想扩展AbstractTrigger。
+0
Greate,我要求**简单**的方式来做到这一点。制作我自己的触发器不是一个简单的方法:( – Sergey 2012-03-24 16:24:11
+0
看一下'SimpleTriggerImpl.cs'的源代码,它确实不是那么糟糕。 – tomfanning 2012-09-11 08:24:50
0
您可以自定义trigger.The简单触发日期时间,这将激发n在您的自定义一倍
public class JobScheduler
{
public static void Start()
{
ISchedulerFactory sf = new StdSchedulerFactory();
IScheduler sched = sf.GetScheduler();
DateTime[] Jobtime = new DateTime[5]; //Array Have Job time
startDate[0] = new DateTime(2015, 6, 3, 16, 57, 0);
startDate[1] = new DateTime(2015, 6, 3, 16, 59, 0);
startDate[2] = new DateTime(2015, 6, 3, 17, 1, 0);
startDate[3] = new DateTime(2015, 6, 3, 17, 4, 0);
for (int i = 1; i < Jobtime.Count(); i++)
{
sched.Start();
string strjob = "job" + i.ToString();
string strgroup = "group" + i.ToString();
string strtigger = "trigger" + i.ToString();
IJobDetail job = JobBuilder.Create<EmailJob>()
.WithIdentity(strjob, strgroup)
.Build();
ISimpleTrigger trigger = (ISimpleTrigger)TriggerBuilder.Create()
.WithIdentity(strtigger, strgroup)
.StartAt(Jobtime[i])
.Build();
sched.ScheduleJob(job, trigger);
}
}
}
相关问题
- 1. 自定义Quartz.Net触发器
- 2. 如何在Quartz.net中获得下一个预定的触发器触发时间
- 3. quartz.net cron触发器
- 4. Quartz.NET触发器配置或滚动我自己的触发器?
- 5. quartz.net自动删除触发器
- 6. Quartz.net触发器不会触发
- 7. Quartz.NET触发器不会触发,MVC4
- 8. Quartz.net cron触发器只触发一次
- 9. Quartz.NET触发器:在指定的时间间隔内运行一次
- 10. Quartz.Net在特定时间在特定日期触发
- 11. 约quartz.net“触发
- 12. 获取Quartz.NET中的所有触发器
- 13. Quartz.Net - 简单的触发器场景
- 14. Quartz.Net的cron触发C#
- 15. Quartz.Net克朗触发重复任务每一天的时间
- 16. 自定义验证器不会触发
- 17. 自定义控件样式/触发器
- 18. 自定义验证器没有触发
- 19. WPF验证自定义触发器
- 20. GTM自定义JS触发器
- 21. 自定义动画结束触发器
- 22. AWS Lambda自定义触发器
- 23. AngularJS Bootstrap Popover自定义触发器
- 24. 自定义SecurityTokenHandler被触发时?
- 25. Quartz.Net - 更新/删除作业/触发器
- 26. Quartz.Net创建在多个特定日期时间触发的日程表
- 27. 定义并触发自定义事件
- 28. 在触发自定义错误时触发$ stateChangeError
- 29. Quartz.NET:触发器没有得到触发,没有得到记录
- 30. Quartz.NET在随机持续时间后停止触发
请务必包括您的问题至少一种语言的标签,以帮助确保你的问题是由那些最能帮助你的人发现。另外一定要阅读标签说明,石英标签已折旧。 – 2012-03-23 14:15:40