zoukankan      html  css  js  c++  java
  • ABP官方文档翻译 7.3 Quartz集成

    Quartz集成

    介绍

      Quartz是一个全功能的、开源的job计划安排系统,可以用在小的apps也可以用于大型的企业系统。Abp.Quartz包简化了ABP集成Quartz。

      ABP有內建的持久化后台job队列和后台worker系统。如果对于后台workers你有更高级的计划安排需求,Quartz会是一个更好的选择。对于持久化后台job队列,Hangfire也是一个好的选择。

    安装

      在工程中安装Abp.Quartz nuget包并在模块上为AbpQuartzModule添加一个DependsOn特性:

    [DependsOn(typeof (AbpQuartzModule))]
    public class YourModule : AbpModule
    {
        //...
    }

    创建Jobs

      要创建一个新job,你可以实现Quartz的IJob接口,或者继承JobBase类(定义在Abp.Quartz包),这个类包含一些帮助属性和方法(例如日志和本地化)。一个简单的job类如下所示:

    public class MyLogJob : JobBase, ITransientDependency
    {
        public override void Execute(IJobExecutionContext context)
        {
            Logger.Info("Executed MyLogJob :)");
        }
    }

      我们简化了实现Execute方法来写日志。你可以参见Quartz文档了解更多。

    计划安排Jobs

      IQuartzScheduleJobManager用来计划安排工作。你可以注入到你的类(或可以在模块的PostInitialize方法中使用它)来规划jobs。规划一个job的示例控制器:

    public class HomeController : AbpController
    {
        private readonly IQuartzScheduleJobManager _jobManager;
    
        public HomeController(IQuartzScheduleJobManager jobManager)
        {
            _jobManager = jobManager;
        }
            
        public async Task<ActionResult> ScheduleJob()
        {
            await _jobManager.ScheduleAsync<MyLogJob>(
                job =>
                {
                    job.WithIdentity("MyLogJobIdentity", "MyGroup")
                        .WithDescription("A job to simply write logs.");
                },
                trigger =>
                {
                    trigger.StartNow()
                        .WithSimpleSchedule(schedule =>
                        {
                            schedule.RepeatForever()
                                .WithIntervalInSeconds(5)
                                .Build();
                        });
                });
    
            return Content("OK, scheduled!");
        }
    }   

    更多

      请参见Quart的文档了解更多关于Quartz的信息。

    返回主目录

  • 相关阅读:
    DICOMDIR结构
    给文件夹添加Everyone用户
    关于Predicate<T>委托
    开发者必备的6款源码搜索引擎
    Create XML Files Out Of SQL Server With SSIS And FOR XML Syntax
    create xml file from sql script
    DICOM中的入门概念
    小米note开启调试模式
    [转] Java基础知识——Java语言基础
    Java语言基本语法
  • 原文地址:https://www.cnblogs.com/xajh/p/7124107.html
Copyright © 2011-2022 走看看