简要说明
ABP vNext 提供了后台工作者和后台作业的支持,基本实现与原来的 ABP 框架类似,并且 ABP vNext 还提供了对 HangFire 和 RabbitMQ 的后台作业集成。开发人员在使用这些第三方库的时候,基本就是开箱即用,不需要做其他复杂的配置。
后台作业在系统开发的过程当中,是比较常用的功能。因为总是有一些长耗时的任务,而这些任务我们不是立即响应的,例如 Excel 文档导入、批量发送短信通知等。
后台工作者 的话,ABP vNext 的实现就是在 CLR 的 Timer 之上封装了一层,周期性地执行用户逻辑。ABP vNext 默认提供的 后台任务管理器,就是在后台工作者基础之上进行的封装。
涉及到后台任务、后台工作者的模块一共有 6 个,它们分别是:
-
Volo.Abp.Threading :提供了一些常用的线程组件,其中 AbpTimer 就是在里面实现的。
-
Volo.Abp.BackgroundWorkers :后台工作者的定义和实现。
-
Volo.Abp.BackgroundJobs.Abstractions :后台任务的一些共有定义。
-
Volo.Abp.BackgroundJobs :默认的后台任务管理器实现。
-
Volo.Abp.BackgroundJobs.HangFire :基于 Hangfire 库实现的后台任务管理器。
-
Volo.Abp.BackgroundJobs.RabbitMQ :基于 RabbitMQ 实现的后台任务管理器。
什么是Hangfire
Hangfire 是一个开源的.NET任务调度框架,目前1.6+版本已支持.NET Core。个人认为它最大特点在于内置提供集成化的控制台,方便后台查看及监控
代码片段
引用
<PackageReference Include="Volo.Abp.AspNetCore.Mvc" Version="1.0.2" />
<PackageReference Include="Volo.Abp.Autofac" Version="1.0.2" />
<PackageReference Include="Hangfire" Version="1.7.7" />
<PackageReference Include="Hangfire.AspNetCore" Version="1.7.7" />
<PackageReference Include="Hangfire.Dashboard.BasicAuthorization" Version="1.0.2" />
<PackageReference Include="Hangfire.Redis.StackExchange.StrongName" Version="1.7.0" />
启动
public class Startup
{
public void ConfigureServices(IServiceCollection services)
{
services.

本文介绍ABPvNext框架中后台任务管理和工作者的实现方式,包括对HangFire和RabbitMQ的支持。同时,详细展示了如何配置Hangfire来实现定时任务调度,包括配置示例代码。

3065

被折叠的 条评论
为什么被折叠?



