定时器之Quart.net(1)

第一步:Install-Package Quartz
namespace ProjectEdb
{
    class Program
    {
        static void Main(string[] args)
        {
           //例子1
            QuartzJob.CreateJob("test", "zkb", "0 */1 * * * ?").GetAwaiter().GetResult();
            //例子2
            //RunProgram().GetAwaiter().GetResult();

        }
    }
}
namespace ProjectEdb.Models
{
  public  class QuartzJob
    {
        public static async Task CreateJob(string name, string group, string cron)
        {
            ISchedulerFactory schedulerFactory = new StdSchedulerFactory();
            IScheduler scheduler = await schedulerFactory.GetScheduler();

            DateTimeOffset startTime = DateBuilder.NextGivenSecondDate(DateTime.Now, 1);
            DateTimeOffset endTime = DateBuilder.NextGivenMinuteDate(DateTime.Now, 10);

            IJobDetail job = JobBuilder.Create<EdbQuartz>()
                             .WithIdentity(name, group)
                             .Build();

            ICronTrigger cronTrigger = (ICronTrigger)TriggerBuilder.Create()
                                       .StartAt(startTime)
                                       .EndAt(endTime)
                                       .WithIdentity(name, group)
                                       .WithCronSchedule(cron)
                                       .Build();

            await scheduler.ScheduleJob(job, cronTrigger);
            await scheduler.Start();
            Console.ReadLine();//这句话在net core控制台应用程序里是一定要加上的,否则,控制台的输出框会闪一下就没了
        }
    }
}
namespace ProjectEdb.Models
{
  public  class EdbQuartz: IJob
    {
        public async Task Execute(IJobExecutionContext context)
        {
            string path = @"D:EDBStockInfo_Files20191.txt";
            string value = DateTime.Now.ToString();
            if (File.Exists(path))
            {
                //File.Delete(path);
            }
            StreamWriter streamWriter = new StreamWriter(path, true);
            await streamWriter.WriteLineAsync(value);
            streamWriter.Flush();
            streamWriter.Close();
        }
    }
}
原文地址:https://www.cnblogs.com/ZkbFighting/p/11389454.html