FluentScheduler定时器
项目需要一个按时执行的任务,每隔几分钟执行一个,或者每隔几小时执行一次等等,这个时候就需要一个定时的功能,最简单的就是用Timer自己写一个,但是自己写的性能等各方面有可能不健全等等,而现在开源的库也越来越多,功能也越来越好,我们是一批站在巨人肩上的人,好的东西也学会用,直接拿来主义。FluentScheduler定时任务库,通过nuget引用,可以设置各种事件间隔,,超级方便简单。
FluentScheduler定时器例子
using FluentScheduler;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks; namespace NetFrameTest.test
{
public class MyRegistry : Registry
{
public MyRegistry()
{
// 每天执行一次(这里是在每天的下午 15:40 分执行),可以不用类,直接虚拟方法
Schedule(() => Console.WriteLine("It's 15:42 now.")).ToRunEvery().Days().At(, ); // 每两秒执行一次(指定一个时间间隔运行,根据自己需求,可以是秒、分、时、天、月、年等。)
Schedule<MyJob>().ToRunNow().AndEvery().Seconds(); // 每五秒执行一次(延迟一个指定时间间隔执行一次计划任务)
Schedule<MyJob>().ToRunOnceIn().Seconds(); // 每月执行一次(这里是在每月的第一周的周一3点执行)
Schedule<MyJob>().ToRunNow().AndEvery().Months().OnTheLast(DayOfWeek.Friday).At(, ); // 构造函数执行
Schedule(() => new MyOtherJob("Foo")).ToRunNow().AndEvery().Seconds(); // 在同一个计划中执行两个(多个)任务
Schedule<MyJob>().AndThen<MyOtherJob>().ToRunNow().AndEvery().Minutes();
} } public class MyJob : IJob
{
public void Execute()
{
Console.WriteLine($"MyJob 当前时间:{DateTime.Now}");
}
} public class MyOtherJob : IJob
{
private string Name;
public MyOtherJob(string name)
{
Name = name;
} public void Execute()
{
Console.WriteLine($"MyOtherJob 姓名:{Name} 当前时间:{DateTime.Now}");
}
}
}
定时任务写好之后只需要在Main中引用就可以了
// static void Main(string[] args)
JobManager.Initialize(new MyRegistry());
FluentScheduler源码地址
https://github.com/fluentscheduler/FluentScheduler
FluentScheduler定时器的更多相关文章
- MVC 使用 FluentScheduler 定时器计划任务
MVC 使用 FluentScheduler 定时器计划任务 MacBook Pro 只有四个 USB Type-C 接口是否错了? 一项新技术的诞生总会对已存在的事物造成冲击或影响,如果大家都害怕冲 ...
- ASP.NET MVC 使用 FluentScheduler 定时器计划任务
MacBook Pro 只有四个 USB Type-C 接口是否错了? 一项新技术的诞生总会对已存在的事物造成冲击或影响,如果大家都害怕冲击与影响,那这个世界永远像现在不变就行了,大家都好好的,待在自 ...
- 推荐一个简单、轻量、功能非常强大的C#/ASP.NET定时任务执行管理器组件–FluentScheduler定时器
在C#WINFORM或者是ASP.NET的WEB应用程序中,根据各种定时任务的需求,比如:每天的数据统计,每小时刷新系统缓存等等,这个时候我们得应用到定时器这个东东. .NET Framework有自 ...
- 【转】ASP.NET MVC 使用 FluentScheduler 定时器计划任务
MacBook Pro 只有四个 USB Type-C 接口是否错了? 一项新技术的诞生总会对已存在的事物造成冲击或影响,如果大家都害怕冲击与影响,那这个世界永远像现在不变就行了,大家都好好的,待在自 ...
- FluentScheduler定时器计划任务
http://www.cnblogs.com/lgxlsm/p/6734011.html 用了FluentScheduler后,再也比想用timer计时器了. FluentScheduler 是 .N ...
- C#/ASP.NET定时任务执行管理器组件–FluentScheduler定时器
必须JobManager初始化 方式1: public void Start() { JobManager.AddJob(() => FetchingDa ...
- 控制台程序秒变Windows服务(Topshelf)
项目中有些时候需要写服务,一般我们都是先创建控制台程序,测试,运行,成功之后再创建windows服务程序,这样好麻烦啊,有没有简单的控制台程序直接变成Widnows服务,经过查找,找到了Topshel ...
- 不用写Windows服务实现定时器功能(FluentScheduler )
MacBook Pro 只有四个 USB Type-C 接口是否错了? 一项新技术的诞生总会对已存在的事物造成冲击或影响,如果大家都害怕冲击与影响,那这个世界永远像现在不变就行了,大家都好好的,待在自 ...
- 利用 FluentScheduler 启动定时器计划任务
FluentScheduler 是什么? Automated job scheduler with fluent interface. 这是作者在 Github 上的介绍,就是一个定时任务管理器.在 ...
随机推荐
- DeltaFish 校园物资共享平台 第二次小组会议
软工第二周小组会议 会议地点:三教讨论区 会议时间:9:00 ~ 10:00 与会人员:软工小组成员 请假人员:刘鼎乾 整理人:艾寅中 会议记录 一.小组分工 在经过一周的调研后,组长根据调研结果和对 ...
- Deutsch lernen (15)
1. unterscheiden - unterschied - unterschieden 区别,区分:(能够)分清 Die beiden Begriffe sind nur schwer ...
- PHP安装环境搭建
一. 安装PHP运行服务器 xampps-x64 二.安装PHP程序编辑软件(Zend Studo需要破解) 安装后打开,再关闭 把com.zend.php.core_10.6.0.v20140128 ...
- Lost connection to MySQL server at 'reading authorization packet', system error: 0_Mysql
1.大多数时候设置"set global connect_timeout=60:"是可以解决问题的. 我们可以通过执行“SHOWSTATUS LIKE 'aborted%'”,可以 ...
- 团体程序设计天梯赛-练习集-L1-042. 日期格式化
L1-042. 日期格式化 世界上不同国家有不同的写日期的习惯.比如美国人习惯写成“月-日-年”,而中国人习惯写成“年-月-日”.下面请你写个程序,自动把读入的美国格式的日期改写成中国习惯的日期. 输 ...
- PS学习列表
1 去水印 祛痘 祛斑 2 新建画布,素材拖到ps中,图层 3 钢笔抠图,直线点,圆弧拖,遇到拐角按alt,ctrl+回车键将扣的图变为选区,ctrl+j复制一层上来 4 证件照换底
- BZOJ 1572: [Usaco2009 Open]工作安排Job 贪心 + 堆 + 反悔
Description Farmer John想修理牧场栅栏的某些小段.为此,他需要N(1<=N<=20,000)块特定长度的木板,第i块木板的长度为Li(1<=Li<=50, ...
- Day 20 python基础总复习
一.计算机基础 1.1 计算机基础之编程 编程语言是人与计算机之间交流的介质 编程就是写一堆文件 编程为了奴隶计算机,解放劳动力 1.2 计算机组成原理 CPU 控制器:控制硬件 运算器:逻辑运算和算 ...
- [luogu4158 SCOI2009] 粉刷匠(dp)
传送门 Solution 把状态都记上暴力转移即可 Code //By Menteur_Hxy #include <queue> #include <cmath> #inclu ...
- Vue CLI 3.x 简单体验
文档 中文文档 补充于02月10日 vue脚手架的3.x版本已经在开发中,现在还处于alpha版本.我们来看看有哪些变化. 使用 npm install -g @vue/cli 命名方式已经改为npm ...