后台任务介绍

后台任务分为2大类:

  • 周期性后台任务
  • 临时性后台任务

本文主要介绍 周期性后台任务



周期性后台任务

很多时候我们需要执行一些周期性任务,它们有如下特性:

  • 后台执行:由后台线程执行
  • 周期规律性:每x分钟 或者 每x秒 就执行一次
  • 长时间运行:任务的生命周期和进程相同

对于此类场景,我们可以使用 BackgroundTask 来实现。


周期性后台任务有2种执行方式:

  • 同步方式:需要从 BackgroundTask 基类继承
  • 异步方式:需要从 AsyncBackgroundTask 基类继承

2个类的用法完全一致,下文将以同步方法来介绍用法。



BackgroundTask与Hangfire的主要差别


技术特性BackgroundTaskHangfire
依赖ASP.NET
依赖数据库持久化
同一任务重叠执行
支持异步任务
支持秒级触发
支持性能日志
支持Venus监控
支持立即执行延迟
支持临时任务



查看后台任务

可以从Venus中查看某个应用进程的后台作业执行情况,可参考下图:

xx


xx