Quartz.net - 我应该手动删除计划一次性执行的作业吗?

Quartz.net - should I manually delete a job scheduled for one-time execution?

我在我的应用程序中使用 Quartz.NET 3 作为作业调度程序

有时,我需要安排一个 "one time" 立即执行的作业。目前我是这样做的:

//Create job
var uid = Guid.NewGuid().ToString();
IJobDetail jobDetail = JobBuilder.Create<MyJobClass>()
    .WithIdentity(uid, "ImmediateJobs")
    .Build();

//Create instant-activation trigger
ITrigger trigger = TriggerBuilder.Create()
    .WithIdentity("trigger-" + uid, "ImmediateJobsTriggers")
    .StartNow()
    .Build();

//Schedule job for execution
scheduler.ScheduleJob(jobDetail, trigger);

我的问题是:这是否足够或是否会导致可能的内存泄漏?完成后我应该以某种方式删除作业还是进行任何其他清理操作?还是自动完成,因为作业没有任何其他触发器?

进一步阅读文档后,我发现您可以使用以下方式触发现有作业:

var jobKey = new JobKey(id, group);
scheduler.TriggerJob(jobKey);

无需每次都创建一个新的。