gpt4 book ai didi

quartz.net - 简单作业的 SchedulerException

转载 作者:行者123 更新时间:2023-12-01 13:40:06 27 4
gpt4 key购买 nike

我正在尝试开始使用 Quartz.Net 2.0。一个非常简单的外观测试应用程序失败并出现 SchedulerException

Trigger's related Job's name cannot be null

代码改编自Version 2.0 Migration Guide

ISchedulerFactory schedFact = new StdSchedulerFactory();
IScheduler classSched = schedFact.GetScheduler();
classSched.Start();
IJobDetail job = JobBuilder.Create<ClassificationJob>()
.WithIdentity("myJob", "My Group")
.WithDescription("My Description")
.Build();

TimeZoneInfo tzUtc = TimeZoneInfo.Utc;
DateTime startTime;

startTime = DateTime.UtcNow;

ITrigger trigger = TriggerBuilder.Create()
.WithIdentity("myTrigger", "My Group")
.WithDescription("My Description")
.StartAt(startTime)
.WithSimpleSchedule(x => x.WithIntervalInSeconds(10).RepeatForever())
.Build();

classSched.ScheduleJob(trigger); // Exception on this line

为什么会失败?

最佳答案

我认为有两个问题。

首先,(尽管迁移指南中有示例),我认为您需要说明触发器与哪个作业相关,即调用 .ForJob 方法,例如

ITrigger trigger = TriggerBuilder.Create()
.WithIdentity("myTrigger", "My Group")
.WithDescription("My Description")
.StartAt(startTime)
.WithSimpleSchedule(x => x.WithIntervalInSeconds(10).RepeatForever())
.ForJob(job)
.Build();

其次,您用于安排作业的语法仅在先前已添加作业时才有效(例如,如果您先前调用过 classSched.AddJob(job,true);//或 classSched.AddJob(job,false) ;

如果还没有完成,那么你需要使用语法

  classSched.ScheduleJob(job, trigger); 

关于quartz.net - 简单作业的 SchedulerException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15626593/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com