在安排之前更改Quartz.NET作业或触发器的名称

时间:2012-12-05 18:29:30

标签: c# scheduled-tasks quartz.net

这可能是一个简单的问题,但我是使用Quartz.NET的新手,但是如何在安排之前更改作业或触发器的名称?我基本上是在支持类中创建模板作业,然后在处理调度的主程序中使用它。

由于每个作业/触发器都需要唯一的名称,因此当我将模板作业的名称复制到主程序进行调度时,我基本上会将模板作业的名称如“SomeJob”变为“SomeJob01”。

这看起来很简单,但我搜索时发现的只是人们说你不能在安排工作细节之后改变工作细节,这个是我正在更改名称以便我可以安排他们

1 个答案:

答案 0 :(得分:0)

在Quartz中,作业与其调度触发器分开。您可以使用多个触发器添加相同的作业。

我不完全确定我理解你在做什么,但要将它添加到Quartz,你可以这样做:

private const string DEFAULT_GROUP = "MyDefaultGroup";

Trigger trigger = TriggerUtils.MakeHourlyTrigger();

JobDetail jobDetail = new JobDetail("YourUniqueJobName", DEFAULT_GROUP, typeof(YourJobClass));

// now add the job to Quartz
scheduler.ScheduleJob(jobDetail, trigger);

通过这种方式,您可以添加具有唯一名称的新作业并为其指定新的触发器,也可以为现有作业分配新的触发器。

但一般来说,要修改Quartz中的某些内容,您必须删除它,更改对象,然后重新添加它。

以下是作业/触发器的概述: http://quartznet.sourceforge.net/tutorial/lesson_2.html

以下是有关触发器如何工作的更多信息: http://quartznet.sourceforge.net/tutorial/lesson_4.html

以下是有关工作如何运作的更多信息: http://quartznet.sourceforge.net/tutorial/lesson_3.html