【问题标题】:Quartz.net - should I manually delete a job scheduled for one-time execution?Quartz.net - 我应该手动删除安排为一次性执行的作业吗?
【发布时间】:2018-12-21 16:27:14
【问题描述】:

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

有时,我需要安排一个“一次性”立即执行的作业。目前我正在这样做:

//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);

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

【问题讨论】:

    标签: quartz.net quartz.net-3.0


    【解决方案1】:

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

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-03-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-10-04
      • 1970-01-01
      相关资源
      最近更新 更多