public JobDetailsData GetJobDetailsData(string name, string group) { var scheduler = _schedulerProvider.Scheduler; if (scheduler.IsShutdown) { return null; } var job = scheduler.GetJobDetail(new JobKey(name, group)); if (job == null) { return null; } var detailsData = new JobDetailsData { PrimaryData = GetJobData(scheduler, name, group) }; foreach (var key in job.JobDataMap.Keys) { var jobData = job.JobDataMap[key]; detailsData.JobDataMap.Add(key, jobData); } detailsData.JobProperties.Add("Description", job.Description); detailsData.JobProperties.Add("Full name", job.Key.Name); detailsData.JobProperties.Add("Job type", job.JobType); detailsData.JobProperties.Add("Durable", job.Durable); detailsData.JobProperties.Add("ConcurrentExecutionDisallowed", job.ConcurrentExecutionDisallowed); detailsData.JobProperties.Add("PersistJobDataAfterExecution", job.PersistJobDataAfterExecution); detailsData.JobProperties.Add("RequestsRecovery", job.RequestsRecovery); return detailsData; }
public JobDetailsData GetJobDetailsData(string name, string group) { var scheduler = _schedulerProvider.Scheduler; if (scheduler.IsShutdown) { return null; } IJobDetail job; JobDetailsData detailsData = new JobDetailsData { PrimaryData = GetJobData(scheduler, name, group) }; try { job = scheduler.GetJobDetail(new JobKey(name, @group)); } catch (Exception) { // GetJobDetail method throws exceptions for remote // scheduler in case when JobType requires an external // assembly to be referenced. // see https://github.com/guryanovev/CrystalQuartz/issues/16 for details detailsData.JobDataMap.Add("Data", "Not available for remote scheduler"); detailsData.JobProperties.Add("Data", "Not available for remote scheduler"); return detailsData; } if (job == null) { return null; } foreach (var key in job.JobDataMap.Keys) { var jobData = job.JobDataMap[key]; detailsData.JobDataMap.Add(key, jobData); } detailsData.JobProperties.Add("Description", job.Description); detailsData.JobProperties.Add("Full name", job.Key.Name); detailsData.JobProperties.Add("Job type", GetJobType(job)); detailsData.JobProperties.Add("Durable", job.Durable); detailsData.JobProperties.Add("ConcurrentExecutionDisallowed", job.ConcurrentExecutionDisallowed); detailsData.JobProperties.Add("PersistJobDataAfterExecution", job.PersistJobDataAfterExecution); detailsData.JobProperties.Add("RequestsRecovery", job.RequestsRecovery); return detailsData; }