zoukankan      html  css  js  c++  java
  • 定时器之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());
                }
            }
  • 相关阅读:
    读书笔记之复盘
    读书笔记之大话设计模式
    代码重构之重命名
    代码重构之下降方法
    代码重构之提升方法
    代码重构之移动方法
    代码重构之封装集合
    JSON之实体对象转JSON字符串,字段名全部转为小写
    SQL代码之多组织数据汇总成树形表格展示
    Python socket学习笔记(三)
  • 原文地址:https://www.cnblogs.com/ZkbFighting/p/11389481.html
Copyright © 2011-2022 走看看