0
내 Windows 서비스에서 동일한 작업을 추가하지 못하도록 내 응용 프로그램을 원합니다. 즉, 작업 키가 있으면 사용자에게 경고하고 싶습니다. 나는이처럼 내 스케줄러의 CheckExists()
방법을 사용하고 있습니다 :모든 작업을 반복하지 않고 작업이 존재하는지 확인
IScheduler sched = scheduler.GetScheduler();
IJobDetail postbagjob = JobBuilder.Create<PostbagJob>()
.WithIdentity(jobName, jobGroup)
.UsingJobData("CampaignId", campaignId.ToString())
.UsingJobData("CampaignType", campaignType)
.Build();
ITrigger postbagJobTrigger = (ICronTrigger)TriggerBuilder.Create()
.WithIdentity(triggerName, triggerGroup)
.WithCronSchedule(cron)
.StartAt(DateTime.Now)
.Build();
if (sched.CheckExists(postbagjob.Key))
{
MsgBox.Show("Job already exists!");
}
else
{
MsgBox.Show("It's ok. You can schedule this job.");
}
문제는이 함수는 인수로 JobKey
를 수신합니다. 그리고 그 직업에 의해 이미 만들어져 있다고 가정합니다. 따라서 위의 코드는 예외를 제공합니다. 작업을 생성하기 전에 특정 JobKey
이 존재하는지 확인하는 방법이 있습니까?
내가하는 일은 모든 작업을 반복하는 것입니다. 그러나 우리는 그것없이 그것을 할 수 있습니까?