zoukankan      html  css  js  c++  java
  • ABP Quartz 作业调度第三篇

    1、第一步安装Abp.Quartz ,把他安装到核心层

    核心模块添加对quarz的依赖,

    领域层创建firstjob类

        public class FirstJob : JobBase, ITransientDependency
        {
            public override Task Execute(IJobExecutionContext context)
            {
                Task t = Task.Run(delegate { Console.WriteLine(DateTime.Now); });
                return t;
         
            }
        }
    

     创建领域层作业服务类

     public class JobService
        {
            private readonly IQuartzScheduleJobManager _jobManager;
    
            public JobService(IQuartzScheduleJobManager i)
            {
                _jobManager = i;
            }
            public async Task ScheduleJob()
            {
    
    
                await _jobManager.ScheduleAsync<FirstJob>(
              job =>
              {
                  job.WithIdentity("MyLogJobIdentity", "MyGroup")
                      .WithDescription("A job to simply write logs.");
              },
              trigger =>
              {
                  trigger.StartNow()
                      .WithSimpleSchedule(schedule =>
                      {
                          schedule.RepeatForever()
                              .WithIntervalInSeconds(5)
                              .Build();
                      });
              });
        
               // return ;
                     
            }
        }
    

      

    应用层创建接口

       public  class JobManager : IApplicationService
        {
            IQuartzScheduleJobManager m;
    
            public JobManager(IQuartzScheduleJobManager d)
            {
                m = d;
            }
            public string GetString() {
                return "成功";
            }
    
    
            public async Task GetStartJob()
            {
                Jobs.JobService j = new Jobs.JobService(m);
                await j.ScheduleJob();
            }
        }
    

      

     ABP默认接口访问地址,调用接口:

    http://localhost:12021/api/services/app/JobManager/GetStartJob  使用Get方式访问

    最后测试的结果是:

    每隔5秒就读取当前时间并且显示出来

  • 相关阅读:
    Java8新特性简介
    责任链模式
    Bean的生命周期
    APP中https证书有效性验证引发安全问题(例Fiddler可抓https包)
    程序员成长指南
    Go 代码性能优化小技巧
    Go slice 扩容机制分析
    一次 Go 程序 out of memory 排查及反思
    curl 常用操作总结
    Go benchmark 详解
  • 原文地址:https://www.cnblogs.com/topguntopgun/p/9623995.html
Copyright © 2011-2022 走看看