监控ui_特来电Hangfire智能监控实践

本文介绍了Hangfire在特来电系统中的应用,作为定时任务调度引擎,用于充电调度、会员提醒等。文章详细阐述了Hangfire的监控需求,包括任务执行的正常运行、异常检测和积压任务监控,并提供了实现方法。通过自定义监控和日志处理,确保系统的可靠性。
摘要由CSDN通过智能技术生成

      Hangfire 是一款强大的.NET开源后台任务利器,无需Windows服务/任务计划程序。可以使用于ASP.NET 应用也可以使用于控制台。Hangfire 只需简单几句代码即可创建新的不同种类的任务。与Quartz.NET相比,其集成了可视化的UI管理与监视工具,不但可以查看任务的运行频率 ,还可以手动启动或删除任务。

    在特来电系统中,Hangfire作为定时任务调度的引擎,主要用于实现定时充电调度,Plus会员过期提醒,各类状态信息的定时上报和各类定时处理调度(比如各类补偿任务和检查任务)等。

24ebb892ddb13ac8a53229bb7d261782.png

Hangfire UI管理界面

       由于Hangfire的的任务执行依赖于轮询redis或者sqlserver数据库,如果它们发生宕机或者连接出现问题,Hangfire的工作线程往往会挂掉,出现任务无法按时执行的问题,当然可以通过Hangfire的UI界面发现问题,但是对于可用性要求高的互联网应用,通过人工观察是无法保证系统的可靠性。

       所以为了及时了解Hangfire的运行状态,我们对Hangfire的系统有如下的监控需求:

  • 系统是否正常运行,即任务能够正常创建与按时执行。

  • 系统是否有异常,主要指需要执行的任务是否发生积压和任务调度是否有异常。

    因此我们需要对Hangfire进行如下维度的监控:

  • Hangfire是否正常工作

  • Hangfire积压任务数

  • Hangfire是否有内部异常

 Hangfire工作线程是否正常

    Hangfire工作原理如图

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Hangfire 是一个用于 .NET 平台的开源后台作业管理框架,它允许您在 ASP.NET 应用程序中轻松执行后台作业,如发送电子邮件、生成报告、清理数据库等。 Hangfire 提供了一种简单、直观的方式来定义和执行后台作业。您可以使用 Hangfire 在后台执行方法、定时任务、队列任务等。它还提供了一个基于 WEB 的用户界面,以便您可以轻松地查看、管理和监控您的后台作业。 以下是 Hangfire 的一些主要点: 1. 随时随地启动、停止或暂停后台任务。 2. 支持定时任务、延迟任务和队列任务。 3. 支持多种存储方式,如 SQL Server、PostgreSQL、Redis 等。 4. 提供了一个 WEB 界面,方便您查看后台任务的执行情况。 5. 支持分布式部署,允许多个应用程序使用同一个任务队列。 下面是一个简单的示例代码,演示了如何使用 Hangfire 在后台执行一个方法: ``` public class MyJob { public void DoJob() { // 执行后台任务 Console.WriteLine("Hello, Hangfire!"); } } // 在 Startup.cs 中配置 Hangfire public class Startup { public void Configuration(IAppBuilder app) { // 配置 Hangfire GlobalConfiguration.Configuration.UseSqlServerStorage("connectionString"); app.UseHangfireDashboard(); app.UseHangfireServer(); // 注册后台作业 var job = new MyJob(); BackgroundJob.Enqueue(() => job.DoJob()); } } ``` 在这个示例中,我们首先定义了一个名为 MyJob 的类,其中包含了一个名为 DoJob 的方法。然后,在 Startup.cs 中配置 Hangfire,指定了使用 SQL Server 存储后台任务,并启用了 Hangfire 的 Dashboard 和 Server。最后,我们使用 BackgroundJob.Enqueue 方法注册了一个后台任务,使其在启动应用程序后立即执行。 使用 Hangfire,您可以轻松地实现后台任务管理,并提高应用程序的可靠性和可扩展性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值