ASP.NET MVC 프로젝트에서 일정에 따라 일부 작업을 실행하기 위해 Quartz lib를 사용합니다. 내 Jobs를 Global.asax 파일의 Application_Start 메소드로 초기화합니다. 그러나 메소드 Application_End가 실행 되었기 때문에 얼마 후에 Quartz가 중지되었다.ASP.NET MVC에서 Quartz 사용하기
변수는 static으로 선언했다 : 여기
public static ISchedulerFactory scheduleFactory = new StdSchedulerFactory();
public static IScheduler scheduler = scheduleFactory.GetScheduler();
는 Quards의 잡스가 초기화 된 방법입니다
IJobDetail jobSender = new JobDetailImpl("jobSender", "MailGroup", typeof(JobMailSender));
ITrigger triggerSender = new CronTriggerImpl("triggerSender", "SenderGroup", "jobSender", "MailGroup", "0 0/30 * * * ?");
scheduler.ScheduleJob(jobSender, triggerSender);
scheduler.Start();
나는 그런 일이 이유를 발견했다. 모든 사용자 세션이 종료되고 서버에 활성 사용자 세션이 없으면 Application_End 메소드가 실행됩니다.
저는 매 15 분마다 사이트를 열어서 새로운 사용자 세션이 서버에 생성되는 새로운 Quartz의 작업을 만들었습니다. 하지만 여전히 Application_End 메서드가 때때로 호출됩니다.
비슷한 문제가있는 사람이 있습니까? 어쩌면 web.config에는 서버에 활성 세션이 없더라도 Application_End 메소드가 실행되지 않는 일부 설정이 있습니까?