Quartz.NET entry

Quartz.NET is an open source job scheduling framework.

Official website address: https: //www.quartz-scheduler.net/
latest version is 3.0.7, requires .NET Framework 4.5.2 and later versions above.
.NET Framework 4.0 and below, you can use version 2.6.2.
In this paper version is 2.6.2, the following entry is an example.

1, to create two simple tasks

Hello1Job.cs

public class Hello1Job : IJob
    {        
        public void Execute(IJobExecutionContext context)
        {           
            LogHelper.Info("hello1");           
        }
    }

Hello2Job.cs

 public class Hello2Job : IJob
    {        
        public void Execute(IJobExecutionContext context)
        {           
            LogHelper.Info("hello2");           
        }
    }

2, create a task service

QuartzService.cs

// reference to the Quartz, Quartz.Impl; 
public  class QuartzService 
    { 
        // scheduler 
        IScheduler Scheduler;
         public QuartzService () 
        { 
            // Dispatcher Factory 
            ISchedulerFactory Factory = new new the StdSchedulerFactory (); 
            Scheduler = factory.GetScheduler (); 
        }        
        public  void the Start () 
        {                      
            // create a task 
            IJobDetail the jobs that job1 = JobBuilder.Create <Hello1Job> (). WithIdentity ( new new JobKey ( " the jobs that job1 ".)) Build ();
             // create a trigger, configure three seconds to perform a 
            ITrigger trigger1 = TriggerBuilder.Create () WithCronSchedule (. " 0/3 * * * *? " ) .Build (); 

            // create a task 
            IJobDetail = JobBuilder.Create JOB2 <Hello2Job> () WithIdentity (. new new JobKey ( " JOB2 " )) the Build ();.
             // create a trigger arranged to perform a 5 seconds 
            . ITrigger Trigger2 = TriggerBuilder.Create () WithCronSchedule ( " 0 ? / 5 * * * * " ) .build (); 
            
            // add tasks to the scheduler and trigger, if you need more than you can bind multiple 
            scheduler.ScheduleJob (job1, trigger1); 
            scheduler.ScheduleJob (JOB2, Trigger2); 

            // start carried out
            scheduler.Start();
        }

        public void Shutdown()
        {
            if (scheduler != null)
            {
                scheduler.Shutdown(true);
            }
        }
    }

3, call

QuartzService quartzJob = new QuartzService();
quartzJob.Start();

Results are as follows:

2019-06-03 09:52:39,667 [DefaultQuartzScheduler_Worker-1] INFO  logging - hello1
2019-06-03 09:52:40,000 [DefaultQuartzScheduler_Worker-2] INFO  logging - hello2
2019-06-03 09:52:42,000 [DefaultQuartzScheduler_Worker-3] INFO  logging - hello1
2019-06-03 09:52:45,000 [DefaultQuartzScheduler_Worker-4] INFO  logging - hello1
2019-06-03 09:52:45,000 [DefaultQuartzScheduler_Worker-5] INFO  logging - hello2
2019-06-03 09:52:48,000 [DefaultQuartzScheduler_Worker-6] INFO  logging - hello1
2019-06-03 09:52:50,000 [DefaultQuartzScheduler_Worker-7] INFO  logging - hello2
2019-06-03 09:52:51,000 [DefaultQuartzScheduler_Worker-8] INFO  logging - hello1
2019-06-03 09:52:54,000 [DefaultQuartzScheduler_Worker-9] INFO  logging - hello1
2019-06-03 09:52:55,000 [DefaultQuartzScheduler_Worker-10] INFO  logging - hello2

 

Guess you like

Origin www.cnblogs.com/gdjlc/p/10966289.html