问题描述
这是我的用例:
我有一个 .Net 核心 Windows 服务,它从 Oracle 作业存储中选择作业/触发器,并且工作正常。 我从 API 添加作业/触发器 - 这工作正常,但当我传递该作业组时它不会保存。
代码如下:
var jobName = "TestJob112";
var jobGroup = "10SECONDS";
var jobDescription = "DataService";
var triggerName = $"{jobName}_Trigger";
var triggerGroup = $"{triggerName}Group";
var cronExpression = "0/10 0/1 * 1/1 * ? *";
var jobData = new JobDataMap();
jobData.Add("LogUId",jobName);
var jobKey = new JobKey(jobName,jobGroup);
var jobDetails = JobBuilder.Create<QuartzJob>()
.WithIdentity(jobName,jobGroup)
//.WithIdentity(jobKey) //Tried this one too
.WithDescription(jobDescription)
.SetJobData(jobData)
.StoreDurably()
.Build();
var triggerDetails = TriggerBuilder.Create()
.WithIdentity(triggerName,triggerGroup)
.WithSchedule(CronScheduleBuilder.CronSchedule(cronExpression))
.ForJob(jobName)
.Build();
_quartzScheduler.ScheduleJob(jobDetails,triggerDetails);
- 通过 .WithIdentity(jobName,jobGroup) 将这两个作为字符串传递
- 也试过这样的 JobKey .WithIdentity(jobKey)
由于某些奇怪的原因,当我传递 jobGroup 时,它没有将作业/触发器保存到数据库中。当我只传递 jobName 时它工作正常。
我有多个作业每 30 秒、1 分钟、5 分钟等运行一次。我想使用 jobGroup 对这些作业进行分组,但它不允许我保存它。
请帮忙!
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)