C# 任务调度神器 FluentScheduler

在编写自动执行的程序时,传统的方法是将其打包成可执行文件(exe),然后使用windows任务计划程序(task scheduler)来设置执行时间和频率。然而,对于秒级别的高频任务,传统方法显得力不从心,通常需要将程序打包成服务并安装在服务器上运行。

C# 任务调度神器 FluentScheduler

最近,我在网上偶然发现了FluentScheduler这个神器。它可以通过Nuget轻松安装,并且使用起来非常方便,堪称任务调度的神器!

FluentScheduler主要包括以下几个对象:IJob(工作)、Registry(注册)和Schedule(计划)。下面我将展示一个简单的实例。

首先,我们定义一个工作类:

using FluentScheduler;

///

/// 工作类/// public class MyJob : IJob{public void Execute(){// 编写需要工作的内容// 比如输出一句话Console.WriteLine("执行工作!");}}

接下来,我们创建一个注册表类,用于安排任务的执行:

Calliper 文档对比神器 Calliper 文档对比神器

文档内容对比神器

Calliper 文档对比神器 28 查看详情 Calliper 文档对比神器

using FluentScheduler;

///

/// 注册表/// public class MyRegistry : Registry{// 无参构造函数public MyRegistry(){// 安排任务在某个时间间隔内运行Schedule().ToRunNow().AndEvery(2).Seconds();

    // 安排任务在特定时间间隔后运行一次    Schedule().ToRunOnceIn(5).Seconds();    // 安排一个简单的任务在特定时间运行    Schedule(() => Console.WriteLine("定时任务 - 将在每天晚上9:15运行: " + DateTime.Now)).ToRunEvery(1).Days().At(21, 15);    // 安排一个更复杂的任务,立即运行并按月执行    Schedule(() =>    {        Console.WriteLine("复杂任务开始: " + DateTime.Now);        Thread.Sleep(1000);        Console.WriteLine("复杂任务结束: " + DateTime.Now);    }).ToRunNow().AndEvery(1).Months().OnTheFirst(DayOfWeek.Monday).At(3, 0);    // 安排多个任务在一个单一的日程安排中运行    Schedule().AndThen().ToRunNow().AndEvery(5).Minutes();}

}

在ASP.NET程序中,我们需要在Global.asax文件中初始化任务管理器以启动定时器:

protected void Application_Start(){JobManager.Initialize(new MyRegistry());}

另外,还有一种方法可以执行多个任务在不同时间段:

protected void Application_Start(){JobManager.AddJob(t => t.ToRunEvery(1).Days().At(24, 00)); // 每天的凌晨12点执行JobManager.AddJob(t => t.ToRunEvery(1).Months().OnTheLastDay().At(8, 30)); // 每个月的最后一天早上8:30执行JobManager.Start(); // 启动任务管理器}

通过以上方法,我们可以灵活地安排各种任务的执行时间和频率,极大地方便了任务调度的工作。

以上就是C# 任务调度神器 FluentScheduler的详细内容,更多请关注创想鸟其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/228535.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2025年11月3日 20:13:09
下一篇 2025年11月3日 20:13:52

相关推荐

发表回复

登录后才能评论
关注微信