The timer Quart.net (1)

The first step: 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();

            awaitscheduler.ScheduleJob (the Job, CronTrigger);
             the await scheduler.Start ();
             Console.ReadLine (); // this sentence in a console application in net core is sure to add, otherwise, the output of the console box look no flash 
        } 
    } 
}
namespace ProjectEdb.Models
{
  public  class EdbQuartz: IJob
    {
        public async Task Execute(IJobExecutionContext context)
        {
            string path = @"D:\EDBStockInfo_Files\2019\1.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();
        }
    }
}

 

Guess you like

Origin www.cnblogs.com/ZkbFighting/p/11389454.html