• 定时器之Quart.net(2)


    第一步: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();
    
            }
        }
    }
          private static async Task RunProgram()
            {
                //int i = 0;
                DateTime myStartTime = Convert.ToDateTime("2016-12-08");
                try
                {
                    // Grab the Scheduler instance from the Factory//https://blog.csdn.net/u011966339/article/details/80911091
                    NameValueCollection props = new NameValueCollection
                    {
                        { "quartz.serializer.type", "binary" }
                    };
                    StdSchedulerFactory factory = new StdSchedulerFactory(props);
                    IScheduler scheduler = await factory.GetScheduler();//Scheduler:调度程序
    
    
                    // 启动任务调度器
                    await scheduler.Start();
    
    
                    // 定义一个 Job
                    IJobDetail job = JobBuilder.Create<EdbQuartz>()
                        .WithIdentity("job1", "group1")
                        .Build();
                    ISimpleTrigger trigger = (ISimpleTrigger)TriggerBuilder.Create()
                        .WithIdentity("trigger1") // 给任务一个名字
                        .StartAt(myStartTime) // 设置任务开始时间
                        .ForJob("job1", "group1") //给任务指定一个分组
                        .WithSimpleSchedule(x => x
                        .WithIntervalInSeconds(20)  //循环的时间 以秒为单位
                        .RepeatForever())
                        .Build();
    
    
                    // 等待执行任务
                    await scheduler.ScheduleJob(job, trigger);
    
    
                    // some sleep to show what's happening
                    //await Task.Delay(TimeSpan.FromMilliseconds(2000));
    
    
                    // and last shut down the scheduler when you are ready to close your program
                    //await scheduler.Shutdown();
                    //i++;
                    Console.ReadLine();//一定要加上
                    //Console.WriteLine(DateTime.Now.ToString() + "这是第" + i + "次执行任务");
                }
                catch (SchedulerException se)
                {
                    await Console.Error.WriteLineAsync(se.ToString());
                }
            }
  • 相关阅读:
    [07] Redis 持久化
    [06] Redis 事务
    [05] Jedis
    [04] Redis 配置文件
    [03] Redis 数据类型
    [02] Redis 简介&安装
    [01] NoSQL 简介
    06-NULL&typedef
    05-动态内存分配
    朴素贝叶斯分类器Naive Bayes
  • 原文地址:https://www.cnblogs.com/ZkbFighting/p/11389481.html
Copyright © 2020-2023  润新知