FluentScheduler定时器计划任务
http://www.cnblogs.com/lgxlsm/p/6734011.html
用了FluentScheduler后,再也比想用timer计时器了。
FluentScheduler 是 .Net 下,可以让你轻松实现定时任务的工具,不需要再去写Windows服务了,更重要的是时间设置起来灵活很多,定时任务难点不就是在这么。
1.nuget包
<?xml version="1.0" encoding="utf-8"?>
<packages>
<package id="FluentScheduler" version="5.1.4" targetFramework="net45" />
</packages>
2.使用例子

using FluentScheduler;
using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.Linq;
using System.Text;
using System.Threading.Tasks; namespace FluentSchedulerTest
{
public static class Scheduler
{
/// <summary>
/// 启动定时任务
/// </summary>
public static void StartUp()
{
JobManager.Initialize(new ApiJobFactory());
} /// <summary>
/// 停止定时任务
/// </summary>
public static void Stop()
{
JobManager.Stop();
}
} /// <summary>
/// 待处理的作业工厂,在构造函数中设置好各个Job的执行计划。
/// 参考【https://github.com/fluentscheduler/FluentScheduler】
/// </summary>
internal class ApiJobFactory : Registry
{
public ApiJobFactory()
{
// 立即执行每两秒一次的计划任务。(指定一个时间间隔运行,根据自己需求,可以是秒、分、时、天、月、年等。)
Schedule<Demo>().ToRunNow().AndEvery(2).Seconds(); // 延迟一个指定时间间隔执行一次计划任务。(当然,这个间隔依然可以是秒、分、时、天、月、年等。)
Schedule<Demo>().ToRunOnceIn(5).Seconds(); // 在一个指定时间执行计划任务(最常用。这里是在每天的下午 1:10 分执行)
Schedule(() => Trace.WriteLine("It's 1:10 PM now.")).ToRunEvery(1).Days().At(13, 10); // 立即执行一个在每月的星期一 3:00 的计划任务(可以看出来这个一个比较复杂点的时间,它意思是它也能做到!)
Schedule<Demo>().ToRunNow().AndEvery(1).Months().OnTheFirst(DayOfWeek.Monday).At(3, 0); // 在同一个计划中执行两个(多个)任务
Schedule<Demo>().AndThen<Demo>().ToRunNow().AndEvery(5).Minutes();
}
} internal class Demo : IJob
{
void IJob.Execute()
{
Trace.WriteLine("开始定时任务了,现在时间是:" + DateTime.Now);
}
}
}
FluentScheduler定时器计划任务的更多相关文章
- MVC 使用 FluentScheduler 定时器计划任务
MVC 使用 FluentScheduler 定时器计划任务 MacBook Pro 只有四个 USB Type-C 接口是否错了? 一项新技术的诞生总会对已存在的事物造成冲击或影响,如果大家都害怕冲 ...
- ASP.NET MVC 使用 FluentScheduler 定时器计划任务
MacBook Pro 只有四个 USB Type-C 接口是否错了? 一项新技术的诞生总会对已存在的事物造成冲击或影响,如果大家都害怕冲击与影响,那这个世界永远像现在不变就行了,大家都好好的,待在自 ...
- 【转】ASP.NET MVC 使用 FluentScheduler 定时器计划任务
MacBook Pro 只有四个 USB Type-C 接口是否错了? 一项新技术的诞生总会对已存在的事物造成冲击或影响,如果大家都害怕冲击与影响,那这个世界永远像现在不变就行了,大家都好好的,待在自 ...
- FluentScheduler定时器
项目需要一个按时执行的任务,每隔几分钟执行一个,或者每隔几小时执行一次等等,这个时候就需要一个定时的功能,最简单的就是用Timer自己写一个,但是自己写的性能等各方面有可能不健全等等,而现在开源的库也 ...
- 利用 FluentScheduler 启动定时器计划任务
FluentScheduler 是什么? Automated job scheduler with fluent interface. 这是作者在 Github 上的介绍,就是一个定时任务管理器.在 ...
- 推荐一个简单、轻量、功能非常强大的C#/ASP.NET定时任务执行管理器组件–FluentScheduler定时器
在C#WINFORM或者是ASP.NET的WEB应用程序中,根据各种定时任务的需求,比如:每天的数据统计,每小时刷新系统缓存等等,这个时候我们得应用到定时器这个东东. .NET Framework有自 ...
- C# 定时器计划任务
函数类: public class MyPlan { public void RunMyplan(object source, ElapsedEventArgs e) { //读取配置文件设定的日期时 ...
- C#/ASP.NET定时任务执行管理器组件–FluentScheduler定时器
必须JobManager初始化 方式1: public void Start() { JobManager.AddJob(() => FetchingDa ...
- Cocos2D中的内部函数
virtual bool isVisible(); // 是否可见 virtual void setVisible(bool visible); // 设置是否可见 boo ...
随机推荐
- SimpleChannelInboundHandler与ChannelInboundHandlerAdapter
参考https://blog.csdn.net/u011262847/article/details/78713881 每一个Handler都一定会处理出站或者入站(也可能两者都处理)数据,例如对于入 ...
- Java Annotation详解 理解和使用Annotation
系统中用到了java注解: 查了一下如何使用注解,到底注解是什么: (1)创建方法:MsgTrace Java Class==> 在Create New Class中: name:输入MsgTr ...
- 在Hmtl页面中只让其中单独的一个div隐藏滚动条但是仍可滚动浏览下边的内容
<style> .box ::-webkit-scrollbar {width: 0px;} </style> <div class="box"> ...
- Java多线程之synchronized线程锁
package org.study2.javabase.ThreadsDemo.sync; /** * @Auther:GongXingRui * @Date:2018/9/18 * @Descrip ...
- SQL Server 2008 开启远程连接
除了 IP1.IP2 外,也要把 IPALL 的端口也设置为 1433 参考:SQL Server开启1433端口,彻底解决方案
- codeforces401C
Team CodeForces - 401C Now it's time of Olympiads. Vanya and Egor decided to make his own team to ta ...
- ffmpeg 转码命令与ffplay
ffmpeg.exe用于视频的转码. ▫ 最简单的命令 ffmpeg -i input.avi -b:v 640k output.ts 该命令将当前文件夹下的input.avi文件转换为output. ...
- BZOJ3876[Ahoi2014&Jsoi2014]支线剧情——有上下界的最小费用最大流
题目描述 [故事背景] 宅男JYY非常喜欢玩RPG游戏,比如仙剑,轩辕剑等等.不过JYY喜欢的并不是战斗场景,而是类似电视剧一般的充满恩怨情仇的剧情.这些游戏往往 都有很多的支线剧情,现在JYY想花费 ...
- 第四十九天 mysql 索引 元类
一 昨日回顾 视图 触发器 事务 什么是事务 逻辑上的一组操作 要么都成功 要么都失败 如何使用 start transaction 开启事务 mysql 默认一条sql就是一个事务 pymysql默 ...
- P1028 数的计算
P1028 题目描述 我们要求找出具有下列性质数的个数(包含输入的自然数n): 先输入一个自然数n(n≤1000),然后对此自然数按照如下方法进行处理: 不作任何处理; 在它的左边加上一个自然数,但该 ...