Quartz.net работа не стреляет - PullRequest
       14

Quartz.net работа не стреляет

0 голосов
/ 02 февраля 2012

Я настроил работу cron с помощью Quartz.net, но, похоже, она не срабатывает.

После загрузки я внес изменения в файл web.config, чтобы перезапустить приложение, поэтому оно должно запустить метод Application_Start. Я также протестировал задание с помощью простого триггера, и он работает, поэтому я не уверен, что происходит.

 void Application_Start(object sender, EventArgs e) 
    {
        // Code that runs on application startup
        // construct a scheduler factory
        ISchedulerFactory schedFact = new StdSchedulerFactory();

        // get a scheduler
        IScheduler sched = schedFact.GetScheduler();
        sched.Start();

        // construct job info
        JobDetail jobDetail = new JobDetail("myJob", null, typeof(Recorder));
        jobDetail.JobDataMap["domain"] = "www.mydomain.com";
        jobDetail.JobDataMap["userId"] = "2";

        // Create trigger (everything is in UTC!!!)
        CronTrigger cronTrigger = new CronTrigger("Schedule");
        cronTrigger.StartTimeUtc = TriggerUtils.GetEvenSecondDate(DateTime.UtcNow);
        cronTrigger.TimeZone = TimeZoneInfo.FindSystemTimeZoneById("Pacific Standard Time");  // run in pacific timezone
        cronTrigger.CronExpressionString = "0 30 13 ? * MON-FRI *"; 

        sched.ScheduleJob(jobDetail, cronTrigger);
    }





    public class Recorder : IJob
    {

        public void Execute(JobExecutionContext context)
        {
            JobDataMap dataMap = context.JobDetail.JobDataMap;
            string domain = dataMap.GetString("domain");
            string userId = dataMap.GetString("userId");

            string url = "http://" + domain + "/record.aspx?userId=" + userId;

            using (WebClient client = new WebClient())
            {
                client.DownloadString(url);
            }

        }
    }

1 Ответ

4 голосов
/ 23 мая 2012

Вы не запустили свой планировщик:

sched.Start();
...