zoukankan      html  css  js  c++  java
  • Quartz 定时任务调度

    一、在Quartz.NET中quartz.properties的配置文件,忽略不修改,考虑下面:

    var props = new NameValueCollection
    {
    { "quartz.serializer.type", "binary" }
    };

     二、IScheduler 、IJobDetail、ITrigger

                StdSchedulerFactory schedFact = new StdSchedulerFactory(props);
                IScheduler scheduler = await schedFact.GetScheduler(); // await对应async
         IJobDetail job1 = JobBuilder.Create<MyJob>()
                                     .WithIdentity(string.Format("myJob_{0}", item), string.Format("group_{0}", item))
                                     .UsingJobData("jobSays", "Hello World!") // 测试用,多余参数
                                     .UsingJobData("name", item)
                                     .Build();
    
                                job1.JobDataMap.Add("myKey", myObject);
                                //scheduler.Context.Put("myKey",myObject);// 不要用这个,这是个坑,多任务调用,myKey只有一个值
    
        ITrigger trigger1 = TriggerBuilder.Create()     
               .WithIdentity(string.Format("触发器名称_{0}", item), string.Format("触发器组_{0}", item)) .StartNow() //现在开始 
               .WithSimpleSchedule(x => x //触发时间,5秒一次。 
               .WithIntervalInSeconds(5) .RepeatForever()) //不间断重复执行 
               .Build();                    

     三、自定义Job

    public class MyJob : IJob
    public Task Execute(IJobExecutionContext context)
            {
    
                JobDataMap dataMap = context.JobDetail.JobDataMap;
    
                //string content = dataMap.GetString("jobSays");
                string name = dataMap.GetString("name");
                var myObject = dataMap.Get("myKey") as MyObject;
    
                //var myObject = (MyObject)context.Scheduler.Context.Get("myKey");// 这是个坑
    
                // 测试信息打印
                //Console.WriteLine("作业执行,jobSays:" + content);
                myObject?.AddTask(name).ConfigureAwait(false);
    
                return Task.FromResult(0);
    
            }
     
  • 相关阅读:
    dudu把博客园搞成中国的stackoverflow就牛x大了
    微雨燕双飞,落花人独立 。是什么意思
    Fill Value To List : XML Bean Property « Spring « Java
    Ruby SQLite GUI
    工作流现状
    Windows Phone开发(32):路径之PathGeometry
    《论道HTML5》内容技术分享活动
    Windows Phone开发(30):图形
    wp7资源调用
    Cocos2dx win7 + vs2010 配置图文详解 .
  • 原文地址:https://www.cnblogs.com/zizhijing/p/13037338.html
Copyright © 2011-2022 走看看