ABP文档 - Quartz 集成
2018-06-22 07:45:15来源:未知 阅读 ()
文档目录
本节内容:
- 简介
- 安装
- 创建工作
- 调度工作
- 更多
简介
Quartz 是一个功能完整的开源工作调度系统,可用于最小的应用到一个大型的企业系统.Abp.Quartz 包简单地把Quartz集成到ABP中.
ABP已经内置后持久化的台作业和工作者,如果你有更高的调度上的需求,Quzrtz是一个好的选择,同样Hangfire 也是一个好的关于持久化后台工作的队列的选择.
安装
把Abp.Quartz nuget包安装到你的项目里,然后在你的模块上为AbpQuartzModule添加一个DependsOn 特性:
[DependsOn(typeof (AbpQuartzModule))] public class YourModule : AbpModule { //... }
创建工作
为创建一个新的工作,你要么实现Quartz的IJob接口,或从JobBase类继承(定义在Abp.Quartz包里),JobBase有些帮助性的属性和方法(例如:日志和本地化),一个简单的Job类如下所示:
public class MyLogJob : JobBase, ITransientDependency { public override void Execute(IJobExecutionContext context) { Logger.Info("Executed MyLogJob :)"); } }
我们通过记录日志,简单地实现Execute方法,更多信息可以查看Quartz文档.
调度工作
用IQuartzScheduleJobManager 来调度工作,把可以把它注入到你的类里(或者在你的模块的PostInitialize方法里解析它的实例然后使用它)来调度工作.举个用控制器调度一个工作的例子:
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!"); } }
更多
关于Quartz更多内容,请查看它的文档
英文原文
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
- .net下Quartz.Net的使用方法 2020-02-06
- 详解ABP框架中Session功能的使用方法 2020-01-18
- 详解ABP框架中的数据过滤器与数据传输对象的使用 2020-01-18
- 解析ABP框架中的日志功能 2019-11-27
- 详解ABP框架的参数有效性验证和权限验证 2019-11-25
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash