Подтвердить что ты не робот

Внедрение Quartz.NET не требует обучения

Я попытался реализовать очень простую реализацию Quartz.net, используя этот учебник

using Quartz;
using Quartz.Impl;

// 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(HelloJob));
// fire every hour
Trigger trigger = TriggerUtils.MakeHourlyTrigger();
// start on the next even hour
trigger.StartTimeUtc = TriggerUtils.GetEvenHourDate(DateTime.UtcNow);  
trigger.Name = "myTrigger";
sched.ScheduleJob(jobDetail, trigger);

Проблема, с которой я сталкиваюсь, (например) MakeHourlyTrigger недоступна в Intellisense и дает мне ошибку

Quartz.TriggerUtils не содержит определения для MakeHourlyTrigger.

Я получаю ошибки в типах, таких как JobDetail:

"Тип или имя пространства имен 'JobDetail' не удалось найти (вам не хватает директивы using или ссылки на сборку?)"

Может быть, я устал и пропустил что-то глупое и легкое... Надеюсь, что дело. Все примеры, которые я видел в Интернете, говорят, что я должен использовать кварц и использовать Quartz.Impl. Пожалуйста, скажите мне, что я просто что-то пропустил...

4b9b3361

Ответ 2

Я знаю, что это неправильное место. Я должен отредактировать оригинальный Wiki blah blah blah. Я пытаюсь сделать 31 час работы, по вечерам, к пятнице. Так вот.

Урок 1

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Quartz;
using Quartz.Impl;

namespace QuartzNetTest
{
    class Program
    {
        static void Main(string[] args)
        {
            // construct a scheduler factory
            ISchedulerFactory schedFact = new StdSchedulerFactory();

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

            // construct job info
            IJobDetail jobDetail = JobBuilder.Create<HelloJob>()
                .WithIdentity("myJob")
                .Build();
            ITrigger trigger = TriggerBuilder.Create()
                .WithIdentity("myTrigger")
                // fire every hour
                .WithSimpleSchedule(x => x.WithIntervalInHours(1).RepeatForever())
                // start on the next even hour
                .StartAt(DateBuilder.FutureDate(1, IntervalUnit.Hour))
                .Build();

            sched.ScheduleJob(jobDetail, trigger);
        }
    }

    class HelloJob : Quartz.IJob
    {
        public void Execute(IJobExecutionContext context)
        {
            Debug.WriteLine("Hello at " + DateTime.Now.ToString());
        }
    }

}

Ответ 3

Я рад сообщить, что веб-сайт Quartz.NET успешно перенесен на страницы GitHub. Теперь должно быть легче сообщество вносит исправления и улучшения.

Учебник обновлен, чтобы включить изменения 2.x:

http://www.quartz-scheduler.net/documentation/quartz-2.x/tutorial/index.html

Сайт написан в Markdown и может быть обновлен с помощью запросов на передачу через GitHub:

https://github.com/quartznet/quartznet/tree/gh-pages