Jobs not chaining using JobChainingJobListener

前端 未结 1 394
甜味超标
甜味超标 2020-12-18 10:42

I have the current code for my Quartz scheduler:

var scheduler = StdSchedulerFactory.GetDefaultScheduler();

// Job1
var Job1 = JobBuilder.Create

        
相关标签:
1条回答
  • 2020-12-18 11:06

    The issue here is that you have misspelled the key the second time ("Job1" vs "job1") which causes there to be no known link to fire. Here's updated code sample with redundancies removed.

    var scheduler = StdSchedulerFactory.GetDefaultScheduler();
    JobKey jobKey1 = new JobKey("job1", "group1");
    JobKey jobKey2 = new JobKey("job2", "group2");
    
    var job1 = JobBuilder.Create<Test1>().WithIdentity(jobKey1).Build();
    var job2 = JobBuilder.Create<Test2>().WithIdentity(jobKey2).StoreDurably(true).Build();
    
    ITrigger trigger1 = TriggerBuilder.Create()
       .WithIdentity("trigger1", "group1")
       .StartNow()
       .Build();
    
    JobChainingJobListener chain = new JobChainingJobListener("testChain");
    chain.AddJobChainLink(jobKey1, jobKey2);
    scheduler.ListenerManager.AddJobListener(chain, GroupMatcher<JobKey>.AnyGroup());
    
    scheduler.ScheduleJob(job1, trigger1);
    scheduler.AddJob(job2, true);
    
    scheduler.Start();
    

    The scheduler.addGlobalJobListener is old API and longer part of 2.x series. You should use the ListenerManager like you have done.

    0 讨论(0)
提交回复
热议问题