这可能是一个简单的问题,但我对使用 Quartz.NET 还是很陌生,但是如何在调度之前更改作业或触发器的名称?我基本上是在支持类中制作模板作业,然后在处理调度的主程序中使用它。
由于我需要每个作业/触发器的唯一名称,因此当我将模板作业的名称(例如“SomeJob”)复制到主程序进行调度时,我基本上会将其命名为“SomeJob01”。
这看起来很简单,但是当我搜索时,我发现的只是人们说您在安排工作后无法更改工作详细信息,我正在更改名称以便安排他们。
这可能是一个简单的问题,但我对使用 Quartz.NET 还是很陌生,但是如何在调度之前更改作业或触发器的名称?我基本上是在支持类中制作模板作业,然后在处理调度的主程序中使用它。
由于我需要每个作业/触发器的唯一名称,因此当我将模板作业的名称(例如“SomeJob”)复制到主程序进行调度时,我基本上会将其命名为“SomeJob01”。
这看起来很简单,但是当我搜索时,我发现的只是人们说您在安排工作后无法更改工作详细信息,我正在更改名称以便安排他们。
在 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