29 votes

L'implémentation de Quartz.NET ne fonctionne pas avec les didacticiels

J'ai tenté de mettre en œuvre très simple Quartz.net la mise en œuvre à l'aide de ce tutoriel

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);

Le problème, je suis en cours d'exécution dans l'est (par exemple) MakeHourlyTrigger n'est pas disponible dans l'Intellisense, et me donne l'erreur

Le Quartz.TriggerUtils ne contient pas une définition pour 'MakeHourlyTrigger'.

J'ai des erreurs sur les types, tels que l' JobDetail:

"Le type ou le nom d'espace de noms 'JobDetail' n'a pas pu être trouvée (vous manque une directive using ou une référence d'assembly?)"

Peut-être que je suis fatigué et manque quelque chose de stupide et facile... j'espère que c'est le cas. Tous les exemples que j'ai vu sur les Internets, je devrais être à l'aide de Quartz et d'utiliser le Quartz.Impl. S'il vous plaît dites-moi que je suis juste en manque de quelque chose de facile...

33voto

Pure.Krome Points 28473

La documentation est destinée à l'API 1.0. Shiz a maintenant changé :( Et oui, ils sont breaketh.

Alors .. pour aider .. consultez cette page de migration officielle . Vous pourriez y trouver de l'amour.

11voto

Colin Points 733

Je sais que ce n'est pas le bon endroit. Je devrais éditer l'original Wiki blah blah blah. J'essaie de faire 31 heures de travail, mes soirées, d'ici vendredi. Alors voilà.

Leçon 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());
        }
    }

}
 

3voto

Marko Lahma Points 3372

Je suis heureux d'annoncer que Quartz.NET le site web a été migré vers GitHub Pages. Il devrait maintenant être plus facile pour la communauté de contribuer correctifs et améliorations.

Le tutoriel est (enfin) mis à jour pour inclure 2.x modifications:

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

Le Site est écrit en Markdown et peut être mis à jour avec les patchs via GitHub:

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

1voto

Saami Solutions Points 75

Essayez ce lien , qui est toujours en cours mais utile.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X