Я инициализацией Quartz внутри моей Application_Start() в Globals.asax.cs как следует:Quartz.net с MVC
// construct a scheduler factory
ISchedulerFactory schedFact = new StdSchedulerFactory();
IScheduler sched = schedFact.GetScheduler();
sched.Start();
IJobDetail dailyUserMailJob = new JobDetailImpl("DailyUserMailJob", null, typeof(DailyUserMail));
// fire every daye
ITrigger dailyUserMailTrigger = new SimpleTriggerImpl("DailyUserMailTrigger", 1,
new TimeSpan(1, 0, 0, 0));
sched.ScheduleJob(dailyUserMailJob, dailyUserMailTrigger);
задание должно выполняться один раз в день, проблема в том, что он работает каждый раз, когда я ударил мой сайт.
любые идеи?
Я размещаю свой сайт на общем хосте, я не могу этого сделать, какие другие способы я могу выполнить это? – Pacman
@Pacman: Я полагаю, вы могли бы сохранить запись в базе данных, которая указывает, был ли процесс уже запущен в течение текущего дня и проверен на эту запись перед запуском процесса из веб-приложения. Тем не менее, вы должны помнить, что запускаете его из веб-приложения каждый день. Суть в том, что веб-приложения не подходят для выполнения запланированных заданий. – David