quartz定时器

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

namespace quartz
{
    class Program
    {
        static void Main(string[] args)
        {
           
            ReportJobScheduler.Start();  //启动
            Console.WriteLine("启动心跳程序");
            Console.ReadKey();

        }
    }
}

 

 

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

namespace quartz
{
    /// <summary>
    /// 提现金额结算Job
    /// </summary>
    public class AutoAuditJob : IJob
    {
       
        /// <summary>
        /// 构造器
        /// </summary>
        public AutoAuditJob()
        {
            
        }
        /// <summary>
        /// 心跳程序
        /// </summary>
        /// <param name="context"></param>
        /// <returns></returns>
        public Task Execute(IJobExecutionContext context)
        {
            return Task.Run(() =>
            {
                timer1_Elapsed();
            });
        }

        /// <summary>
        /// 定时器 调用的方法
        /// </summary>
        /// <returns></returns>
        public async void timer1_Elapsed()
        {
            ///这里放你实际调用的方法
            var time = DateTime.Now;
            Console.WriteLine("现在是时间:"+time);
            
            
        }
    }


    /// <summary>
    /// 初始化程序
    /// </summary>
    public class ReportJobScheduler
    {
        /// <summary>
        /// 初始化程序
        /// </summary>
        public static async void Start()
        {
            IScheduler scheduler = await StdSchedulerFactory.GetDefaultScheduler();
            await scheduler.Start();
            IJobDetail job = JobBuilder.Create<AutoAuditJob>().Build();
            ITrigger trigger = TriggerBuilder.Create()
            .WithIdentity("triggerName", "groupName")
            .WithSimpleSchedule(t =>
              t.WithIntervalInSeconds(2) ///设置触发时间
               .RepeatForever())
               .Build();
            await scheduler.ScheduleJob(job, trigger);
        }
    }
}

 

 

代码可以直接复制使用,需要nugget中安装quartz。

posted on 2019-07-09 09:59  Leegj  阅读(143)  评论(0编辑  收藏  举报