在我的应用程序工作的每个用户相关联:
IJobDetail job = JobBuilder.Create<SampleJob>()
.UsingJobData("userId", 10)
.WithIdentity("job1", "group1")
.Build();
然后我想获得定于关联到我的应用程序的一些用户quartz.net的所有作业。
有没有可能,或者有人能提出一个解决方案?谢谢
假设你要调度后做的话,我们可以填充
List<JobDetail>
但我找不到比通过按键迭代更好的办法。我必须做同样的事情,但后来改变了依赖于JobKey不是作为拉班问。
var groupMatcher = GroupMatcher<JobKey>.GroupContains("group1");
var keys = await scheduler.GetJobKeys(groupMatcher); // Get all JobKeys
// Get all JobDetails
var jobDetails = new List<IJobDetail>();
foreach(var key in keys)
{
jobDetails.Add(await scheduler.GetJobDetail(key));
}
var userTensJobs = jobDetails.Where(j => j.JobDataMap.WrappedMap.Any(x =>
x.Key.Equals("userId") && x.Value.Equals(10)));