分享几个.NET 下的计划任务组件
Quartz
http://www.quartz-scheduler.net/(现项目在使用,可以看我之前的文章)
Hangfire
Install-Package Hangfire
使用OWIN初始化
public partial class Startup
{
private readonly string HangFireDB = @””;
public void Configuration(IAppBuilder app)
{
app.UseHangfire(config =>
{
config.UseSqlServerStorage(HangFireDB);
config.UseServer(); });
RecurringJob.AddOrUpdate(() => TestJob(), Cron.Daily);
ConfigureAuth(app);
} public void TestJob()
{ }
}
访问:http://your-site/hangfire ,可以方便 查看,管理,触发JOB等
FluentScheduler
https://github.com/jgeurts/FluentScheduler
Nuget :Install-Package FluentScheduler
使用很简单,一直直接使用TaskManager类管理即可
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using FluentScheduler; namespace TestFluentScheduler
{
class Program
{
static void Main(string[] args)
{
TaskManager.AddTask(() =>
{
//Do something...
Console.WriteLine("Timer task,current time:{0}", DateTime.Now);
}, t =>
{
//每5秒钟执行一次
t.ToRunNow().AndEvery().Seconds();
////带有任务名称的任务定时器
//t.WithName("TaskName").ToRunOnceAt(DateTime.Now.AddSeconds(5));
});
Console.ReadKey();
}
}
}
使用继承FluentScheduler的Registry类(需要初始化)
using FluentScheduler; public class MyRegistry : Registry
{
public MyRegistry()
{
// Schedule an ITask to run at an interval
Schedule<MyTask>().ToRunNow().AndEvery().Seconds(); // Schedule an ITask to run once, delayed by a specific time interval.
Schedule<MyTask>().ToRunOnceIn().Seconds(); // Schedule a simple task to run at a specific time
Schedule(() => Console.WriteLine("Timed Task - Will run every day at 9:15pm: " + DateTime.Now)).ToRunEvery().Days().At(, ); // Schedule a more complex action to run immediately and on an monthly interval
Schedule(() =>
{
Console.WriteLine("Complex Action Task Starts: " + DateTime.Now);
Thread.Sleep();
Console.WriteLine("Complex Action Task Ends: " + DateTime.Now);
}).ToRunNow().AndEvery().Months().OnTheFirst(DayOfWeek.Monday).At(, ); //Schedule multiple tasks to be run in a single schedule
Schedule<MyTask>().AndThen<MyOtherTask>().ToRunNow().AndEvery().Minutes();
}
}
在web程序的Global.asax文件中初始化
protected void Application_Start()
{
TaskManager.Initialize(new MyRegistry());
}
WebBackgrounder
http://www.nuget.org/packages/WebBackgrounder/
http://diaosbook.com/Post/2014/7/18/how-to-run-schedule-jobs-in-aspnet
Taskschedulerengine
http://taskschedulerengine.codeplex.com/
分享几个.NET 下的计划任务组件的更多相关文章
- 抓取oschina上面的代码分享python块区下的 标题和对应URL
# -*- coding=utf-8 -*- import requests,re from lxml import etree import sys reload(sys) sys.setdefau ...
- Linux下的计划任务at,batch,crontab
0x00前言: 继上次的windows计划任务后,拓展研究下linux下的计划任务,能够执行计划任务有3个命令at,batch,crontab 所谓的计划任务就是定时启动某个程序,可以是一组shell ...
- linux下设置计划任务执行python脚本
linux下设置计划任务执行python脚本 简介 crontab命令被用来提交和管理用户的需要周期性执行的任务,与windows下的计划任务类似,当安装完成操作系统后,默认会安装此服务工具,并且会自 ...
- linux系统下添加计划任务执行php文件方法
在web开发过程中,经常需要设定一些定期执行的任务,比如商品定时上下架.我们以php文件为例,讲解linux下的计划任务,来看看吧 在web开发过程中,经常需要设定一些定期执行的任务,比如商品定时 ...
- Ubuntu下的计划任务 -- cron的基本知识
下面不完全: 参考:http://blog.csdn.net/cuker919/article/details/6336457 cron是一个Linux下的后台进程,用来定期的执行一些任务.因为我用的 ...
- Linux下的计划任务—crontab
点击上方"开源Linux",选择"设为星标" 回复"学习"获取独家整理的学习资料! 来自:Linux就该这么学 crond 是linux下用 ...
- Unity3D UGUI下拉菜单/Dropdown组件用法、总结
Unity3D中UGUI实现下拉菜单 本文提供全流程,中文翻译. Chinar 坚持将简单的生活方式,带给世人!(拥有更好的阅读体验 -- 高分辨率用户请根据需求调整网页缩放比例) Chinar -- ...
- asp.net下出现其中的组件“访问被拒绝”的解决方法
一.一般情况下,对该组件重新授权即可.附上ASP,NETWORK SERVICE用户的可修改权限. 二.其中最常见的原因是Indexing service服务引起的.解决方法就是停用Indexing ...
- 用vue写一个仿app下拉刷新的组件
如果你用vue弄移动端的页面,那么下拉刷新还是比较常见的场景,下面来研究如何写一个下拉刷新的组件(先上图); 由于节省大家的时间,样式就不贴出来了. html结构也不必介绍了,直接看代码吧-.- &l ...
随机推荐
- h5的部分新元素或属性
#h5的新元素或属性 - datalist标签(新表单元素):规定了input元素可能的选项列表. * 条件:datalist的id属性值必须等于input元素的list属性值. ...
- 嵌入式设备hacking(转)
原帖地址:http://drops.wooyun.org/papers/5157 0x00 IPCAM hacking TOOLS github-binwalk firmware-mod-kit ID ...
- MYSQL 源代码学习
http://ourmysql.com/ http://blog.chinaunix.net/uid-26896862-id-4009777.html
- OPC Server开发的几大境界
OPC server的开发相对OPC client 更加困难,OPC server 的开发主要应用COM技术,主要应用书籍为潘爱民写的<COM入门和应用>,大量的技术有很大的可重用性,在开 ...
- firedac使用UNIXODBC连接SQLSERVER
firedac使用UNIXODBC连接SQLSERVER 1)下载 SQL SERVER ODBC DRIVER FOR 64-BIT LINUX. 如果你有旧版mssql 工具安装,请删除任何较旧的 ...
- mORMot
mORMot GITHUB: https://github.com/synopse/mORMot Synopse mORMot framework An Open Source Client-Serv ...
- Ext ComboBox 动态查询
Ext中的combobox有属性typeAhead:true 可以实现模糊匹配,但是是从开始匹配的,如果需要自定的的匹配,则需要监听beforequery方法,实现自己的匹配查询方法: var gfx ...
- hadoop函数说明图
- VirtualBox虚拟机内的系统时间无法调整的解决方法
VirtualBox虚拟机内的系统时间无法调整的解决方法 因试用某软件要求将系统时间设置在特定的日期,利用windows自带的调整日期/时间功能进行设置,发现过几秒钟就又恢复到和主机相同的时间了, ...
- 【BZOJ】【1038】【ZJOI2008】瞭望塔
计算几何/半平面交 说是半平面交,实际上只是维护了个下凸壳而已……同1007水平可见直线 对于每条线段,能看到这条线段的点都在这条线段的“上方”,那么对所有n-1条线段求一个可视区域的交,就是求一个半 ...