开源一个windows下的定时任务框架,简单粗暴好用。
这里是你想要的功能:
- 支持插件,将你要执行的任务编译成程序集放到框架的根目录下,再进行简单的配置就行了。
- 支持Corn表达式。想让任务在什么时候执行就在什么时候执行。
- 支持安装成windows service (通过topshelf实现)
- 保证任务在执行阶段,就算到了下一个触发时间,不重复执行(如果本次还没执行完的话)。
- 还有…等我想到了再实现^o^,您也可以关注项目的地址:https://github.com/leleroyn/Windows-TaskSchedule,提出你想要的功能。
简单介绍下项目的使用:
编写插件支持
需要实现框架中的Ijob接口,框架中内置了一个简单的不能再简单的示例任务。直接看代码:
- 1: using System;
- 2: using System.Collections.Generic;
- 3: using System.Linq;
- 4: using System.Text;
- 5:
- 6: namespace Windows.TaskSchedule
- 7: {
- 8: public interface IJob
- 9: {
- 10: void Init();
- 11: void Excute();
- 12: void OnError(Exception ex);
- 13: }
- 14: }
DemoJob
- 1: using System;
- 2: using System.Collections.Generic;
- 3: using System.Linq;
- 4: using System.Text;
- 5:
- 6: namespace Windows.TaskSchedule
- 7: {
- 8: public class DemoJob:IJob
- 9: {
- 10: static log4net.ILog logger = log4net.LogManager.GetLogger(typeof(DemoJob));
- 11: DateTime date = new DateTime();
- 12: public void Init()
- 13: {
- 14: date = DateTime.Now;
- 15: }
- 16:
- 17: public void Excute()
- 18: {
- 19: logger.Debug(date);
- 20: }
- 21:
- 22: public void OnError(Exception ex)
- 23: {
- 24: logger.Debug(ex.ToString());
- 25: }
- 26: }
- 27: }
配置插件到框架中执行
通过修改configs目录下的Jobs.config文件,让框架识别你的任务。
Jobs.config
- 1: <?xml version="1.0" encoding="utf-8" ?>
- 2: <Jobs serverName="demo-server" displayName="测试服务" description="测试服务的描述">
- 3: <Job name="demoJob1" type="Windows.TaskSchedule.DemoJob,Windows.TaskSchedule" cornExpress="0/3 * * * * ?" />
- 4: </Jobs>
参数说明:
serverName:发布成服务时的服务名称(最好不要有空格)
displayName:发布成服务时的服务显示名称
description:发布成服务时的服务描述
Job节点就是各个任务的具体配置了,name:任务的名称(最好唯一),type:插件的具体实例与程序集,cornExpress:任务执行的时间,只支持corn表达式
执行任务
如果是开发调试阶段,可以直接启动Windows.TaskSchedule.exe 这样可以直接在控制台输出相关信息。
如果要部署成windows服务,需要在命令行下 先执行Windows.TaskSchedule.exe install 进行安装,然后启动:Windows.TaskSchedule.exe start
卸载windows服务也很简单,直接执行 Windows.TaskSchedule.exe uninstall 具体可参考topshelf组件的使用方法。http://topshelf-project.com/
想要源码,如果你细心的话在文章的开头就应该有啦,我还是贴一下地址吧:https://github.com/leleroyn/Windows-TaskSchedule
申明一下,此项目主要是借助一些第三方的组件,有疑问或者建议可以在这或者github里给我留言,项目实际过程中出现任何问题概不负责^o^.
开源一个windows下的定时任务框架,简单粗暴好用。的更多相关文章
- Windows下Kettle定时任务执行并发送错误信息邮件
Windows下Kettle定时任务执行并发送错误信息邮件 1.首先安装JDK 2.配置JDK环境 3.下载并解压PDI(kettle) 目前我用的是版本V7的,可以直接百度搜索下载社区版,企业版收费 ...
- memcache的windows下的安装和简单使用
原文:memcache的windows下的安装和简单使用 memcache是为了解决网站访问量大,数据库压力倍增的解决方案之一,由于其简单实用,很多站点现在都在使用memcache,但是memcach ...
- JAVA 基础开发环境 vscode 搭建 Windows下VSCode编译运行简单java
JAVA 基础开发环境 vscode 搭建 来源 https://www.cnblogs.com/freewsf/p/7744728.html 对于使用 Visual Studio Code 的 Ja ...
- windows下的定时任务设置详解
windows下的定时任务设置详解 一.总结 一句话总结: 1.php.exe是什么? 就是php中自带的一个exe,不是我们写的,这个exe是可以执行其他的PHP的 二.windows下的定时任务设 ...
- 一个windows下的ddos样本
一个windows下的ddos样本. 加载器 程序运行之后会在临时目录释放出一个256_res.tmp的文件 之后将该文件移动至system32目录下,以rasmedia.dll命名. 删除原文件. ...
- windows 下的定时任务
linux 下的定时任务是crontab 以前都是linux的定时任务,这次在windows做了定时任务,简单记录一下 windows 2008下的定时任务配置: 控制面板->管理工具-> ...
- windows 下的定时任务 (原)
linux 下的定时任务是crontab 以前都是linux的定时任务,这次在windows做了定时任务,简单记录一下(win8 跟 win10为例) windows 2008下的定时任务配置: 控制 ...
- windows下安装CI框架
CI框架是一个非常流行的 mvc框架, CI框架如何安装和使用,在CI中文网已经讲的比较详细了 ,这里记录下几个需要注意的地方. 一. index.php问题 把压缩包下载解压到项目根目录即可运行里面 ...
- Python:tesserocr 在 windows 下的安装及简单使用
tesserocr 是 python 的一个 OCR 库,它是对 tesseract 做的一层 Python API 封装,所以他的核心是tesseract. tesseract 的安装见 https ...
随机推荐
- Nancy之基于Self Hosting的补充小Demo
前面把Hosting Nancy with ASP.NET.Self Hosting Nancy和Hosting Nancy with OWIN 以demo的形式简单描述了一下. 这篇是为Self H ...
- [WCF编程]7.实例上下文模式
一.实例上下文模式概述 实例上下文(IntanceContext Mode)表示服务端的服务实例与客户端的服务代理的绑定方式. 在实例化服务器对象时,WCF采用了3种不同的模式:单调(Per-Call ...
- .net源码分析 – List<T>
通过分析源码可以更好理解List<T>的工作方式,帮助我们写出更稳定的代码. List<T>源码地址: https://github.com/dotnet/corefx/blo ...
- php怎么获取input输入框中的值去数据库比较显示出来
前端: <!--商品查询--> <input type="text" name="bianhao" value="" ma ...
- 深入理解http/https协议
深入理解HTTP协议(转) http协议学习系列 1. 基础概念篇 1.1 介绍 HTTP是Hyper Text Transfer Protocol(超文本传输协议)的缩写.它的发展是万维网协会(Wo ...
- 微信公众平台自动回复wechatlib.jar的生成及wechatlib解析
微信公众平台出来有一段时日了,官方提供的自动回复的接口调用大致是这么些类型(text/image/location/link),每个项目都如此拷贝代码,在笔者看来比较麻烦,今天乘着点闲暇的时间特意将这 ...
- CentOS操作记录
基本操作记录 1.centos已经进到图形界面后怎么打开命令行:ctrl+alt+F3 得到如下命令界面 用用户名和密码登录 切换回图形界面时输入的命令:ctrl+alt+F1 2.重新启动系统:#r ...
- Maven命令行使用:mvn clean compile(编译)
先把命令行切换到Maven项目的根目录,比如:/d/xxxwork/java/maven-test,然后执行命令: mvn clean compile 执行结果如下: [INFO] Scanning ...
- jQuery静态方法parseJSON方法使用和源码分析
该方法接受一个JSON字符串,返回解析后的对象. 传入一个畸形的JSON字符串会抛出一个异常.比如下面的都是畸形的JSON字符串: {test: 1} ( test 没有包围双引号) {'test': ...
- 浅谈HTML5单页面架构(二)——backbone + requirejs + zepto + underscore
本文转载自:http://www.cnblogs.com/kenkofox/p/4648472.html 上一篇<浅谈HTML5单页面架构(一)--requirejs + angular + a ...