0

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

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

这看起来很简单,但是当我搜索时,我发现的只是人们说您在安排工作后无法更改工作详细信息,我正在更改名称以便安排他们。

4

1 回答 1

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

于 2012-12-06T01:38:47.613 回答