任务调度框架FluentScheduler简介
之前我在文章中介绍过.net中的任务调度框架Hangfire,HangFire虽然本身输入比较简单好用的,但是,如果我们的程序本身提供的服务不是任务调度,而任务调度只是里面并不重要的小功能的时候,用HangFire显得有点过重了,这里本文就介绍一个简单好用的任务调度框架FluentScheduler。
比起Hangfire来,FluentScheduler相对就简单得多,它只是提供了一个类库,提供任务调度的基本功能,没有像hangfire的数据库,web服务的依赖,功能变少,也更加简单了。非常适用于任务调度功能的集成。
它使用也比较简单,一个简单的示例如下:
static void Main(string[] args)
{
JobManager.Initialize(new MyRegistry());
Console.ReadLine();
} public class MyRegistry : Registry
{
public MyRegistry()
{
// Schedule an IJob to run at an interval
// 立即执行每10秒一次的计划任务。(指定一个时间间隔运行,根据自己需求,可以是秒、分、时、天、月、年等。)
Schedule(() => Console.WriteLine(DateTime.Now))
.ToRunNow().AndEvery().Seconds(); // 立即执行每10秒一次的计划任务。如果本次任务没有结束,下一次的任务则不会开始,禁止并行运行
Schedule(() => Console.WriteLine(DateTime.Now))
.NonReentrant()
.ToRunNow().AndEvery().Seconds(); //在每天的21:15执行计划任务
Schedule(() => Console.WriteLine("It's 9:15 PM now."))
.ToRunEvery().Days().At(, ); // 立即执行一个在每月的第一个星期一 3:00 的计划任务
Schedule(() => Console.WriteLine("It's 3:00 AM now."))
.ToRunNow().AndEvery().Months().OnTheFirst(DayOfWeek.Monday).At(, ); //在每周一的21:15执行计划任务
Schedule(() => Console.WriteLine("It's 9:15 PM now."))
.ToRunEvery().Weeks().On(DayOfWeek.Monday).At(, );
}
}
基本的功能还是都有的,没有依赖项,也适用于各种.net框架,非常好用。
任务调度框架FluentScheduler简介的更多相关文章
- 任务调度框架Hangfire 简介
任务调度是我们项目中常见的功能,虽然任务调度的功能实现本身并不难,但一个好用的轮子还是可以给我们的开发的效率提升不少的. 在.net环境中,较为有名的任务调度框架是HangFire与Quartz.NE ...
- .NET Core下开源任务调度框架Hangfire的Api任务拓展(支持秒级任务)
HangFire的拓展和使用 看了很多博客,小白第一次写博客. 最近由于之前的任务调度框架总出现问题,因此想寻找一个替代品,之前使用的是Quartz.Net,这个框架方便之处就是支持cron表达式适合 ...
- 【niubi-job——一个分布式的任务调度框架】----niubi-job这下更牛逼了!
niubi-job迎来第一次重大优化 niubi-job是一款专门针对定时任务所设计的分布式任务调度框架,它可以进行动态发布任务,并且有超高的可用性保证. 有多少人半夜被叫起来查BUG,结果差到最后发 ...
- 【niubi-job——一个分布式的任务调度框架】----安装教程
niubi-job是什么 niubi-job是LZ耗时三个星期,费尽心血打造的一个具备高可靠性以及水平扩展能力的分布式任务调度框架,采用quartz作为底层的任务调度管理器,zookeeper做集群的 ...
- Quarzt.NET 任务调度框架
Quartz.NET是一个开源的作业调度框架,是 OpenSymphony 的 Quartz API 的.NET移植,它用C#写成,可用于winform和asp.net应用中.它提供了巨大的灵活性 ...
- Quartz.Net任务调度框架
Quartz.Net是一个开源的任务调度框架,非常强大,能够通过简单的配置帮助我们定时具体的操作. 相对于我们用的线程里面while(true)然后sleep来执行某个操作,应该算的上是高端,大气,上 ...
- DWZ富客户端框架+DWZ简介及其使用+DWZ讨论组
DWZ富客户端框架+DWZ简介及其使用+DWZ讨论组 地址: DWZ富客户端框架:http://jui.org/#_blank DWZ简介及其使用:http://blog.sina.com.cn/s/ ...
- 068 Oozie任务调度框架
一:概述 1.大数据协作框架 2.Hadoop的任务调度 这个是常见的任务调度框架. 3.azkaban 4..Oozie的三大功能 Oozie Workflow jobs :工作流任务,可以生成DA ...
- 开源的.NET任务调度框架-HangFire
什么是Hangfire Hangfire 是一个开源的.NET任务调度框架,目前1.6+版本已支持.NET Core.内置提供集成化的控制台,方便后台查看及监控: 另外,Hangfire包含三大核心组 ...
随机推荐
- 避免css中文字体在浏览器中解析成乱码
许多童鞋在写CSS的时候,设置中文字体常常使用中文字符,例如font-family:”黑体”,这样我们在浏览器中看到的是什么样子的呢 ? 如果不想自己写的界面在浏览器字体声明上有异常,建议在书写css ...
- Linux 静态库与动态库
静态库(.a) 一个deal.c usedeal.c 重点 1. gcc -c deal.c 生成 deal.o 2. ar -rsv libdeal.a deal.o 生成 libdeal.a ...
- 关于mysql-connector-java(JDBC驱动)的一些坑
最近在写一个项目的时候,用了maven仓库里面较新的mysql的JDBC驱动,版本是6.0.6,Mybatis的全局配置是这么写的: <?xml version='1.0' encoding=' ...
- 对package.json的理解和学习
一.初步理解 1. npm安装package.json时 直接转到当前项目目录下用命令npm install 或npm install --save-dev安装即可,自动将package.json中 ...
- Linux中普通用户提权为超级用户
首先创建一个普通用户,并且给普通用户设置一个密码,保证能用su 命令能用普通用户登录 [root@ahu ~]# useradd test [root@ahu ~]# passwd test New ...
- MySQL多源复制【转】
什么是多源复制? 首先,我们需要清楚 multi-master 与multi-source 复制不是一样的. Multi-Master 复制通常是环形复制, 你可以在任意主机上将数据复制给其他主机. ...
- screen命令记录
1.screen -x 进入 2.ctrl+a+n 下一个 3.ctrl+a+p 上一个任务 4.ctrl+a+d 退出 5.ctrl+c 结束任务 其他 screen -ls 所有任务 screen ...
- 【译】Asp.Net Identity与Owin,到底谁是谁?
送给正在学习Asp.Net Identity的你 :-) 原文出自 trailmax 的博客AspNet Identity and Owin. Who is who. Recently I have ...
- php删除非空目录代码实现
<?php header("Content-type: text/html; charset=utf-8"); $dir='mydir'; function deldir($ ...
- tensorflow-训练(train)/测试(test)
一个TFRecords 文件为一个字符串序列.这种格式并非随机获取,它比较适合大规模的数据流,而不太适合需要快速分区或其他非序列获取方式. 操作组 操作 Training Optimizers,Gra ...