开源一个windows下的定时任务框架,简单粗暴好用。

这里是你想要的功能:

  1. 支持插件,将你要执行的任务编译成程序集放到框架的根目录下,再进行简单的配置就行了。
  2. 支持Corn表达式。想让任务在什么时候执行就在什么时候执行。
  3. 支持安装成windows service (通过topshelf实现)
  4. 保证任务在执行阶段,就算到了下一个触发时间,不重复执行(如果本次还没执行完的话)。
  5. 还有…等我想到了再实现^o^,您也可以关注项目的地址:https://github.com/leleroyn/Windows-TaskSchedule,提出你想要的功能。

简单介绍下项目的使用:

编写插件支持

需要实现框架中的Ijob接口,框架中内置了一个简单的不能再简单的示例任务。直接看代码:

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^.

时间: 2024-10-10 12:35:57

开源一个windows下的定时任务框架,简单粗暴好用。的相关文章

windows下游戏服务器端框架Firefly安装说明及demo运行

原地址:http://blog.csdn.net/wangqiuyun/article/details/11150503 本来公司一个网游服务器端选定了pomelo框架,后来出了个Firefly,为做一个对比,决定研究一下Firefly.看了一下Firefly,感觉头大,python的,本人python小白,只好慢慢折腾,一天下来总算装上了Firefly框架,并把他的那个开源网游<暗黑世界>服务器端跑了起来,特此记录共享! 其实关于这个框架的安装,他们的官网和BBS是有教程的只是太零散,并且面

Windows下Kettle定时任务执行并发送错误信息邮件

Windows下Kettle定时任务执行并发送错误信息邮件 1.首先安装JDK 2.配置JDK环境 3.下载并解压PDI(kettle) 目前我用的是版本V7的,可以直接百度搜索下载社区版,企业版收费,社区版免费 下载地址:https://sourceforge.net/projects/pentaho/files/Data%20Integration/ 4.打开解压文件夹kettle找到spoon.bat,双击打开 5.新建作业 点击左上角文件=>新建=>作业 如下图: 6.然后开始建立作业

memcache的windows下的安装和简单使用

原文:memcache的windows下的安装和简单使用 memcache是为了解决网站访问量大,数据库压力倍增的解决方案之一,由于其简单实用,很多站点现在都在使用memcache,但是memcache缺点之一却是缺少安全性验证,所以一般而言我们都会把一些访问量大,但是不需要验证的数据放在这里,需要用的时候来这里取,就给数据库减少了很多的负担.一般而言设定个更新时间就好了,1个小时左右更新一次. windows下安装和测试memcache最为方便,Linux只是需要相应的编译包就行了,需要包括m

一个windows下的ddos样本

一个windows下的ddos样本. 加载器 程序运行之后会在临时目录释放出一个256_res.tmp的文件 之后将该文件移动至system32目录下,以rasmedia.dll命名. 删除原文件. 加载开始释放的dll文件,并调用该dll导出的install函数. Rasmedia.dll 函数install会将将该dll注册成一个服务WinHelp32. 具体如下 服务运行之后会有两个线程开启. 一个线程用于和远端服务器进行通信. 一个线程会将自身拷贝到内存中,当发现映像文件被删除,会将自己

做一个WINDOWS下破解WIFI。不需要Linux抓包!

搬家了,没网了.没有WIFI了! 想破解,不过没有Linux环境,不能抓包!破解! 于是自己动手开工! 在windows 下直接破解.貌似国内 还没看到.如果有了,那么请各位童鞋 提醒一下.赶急 要使用啊!! 最终: 不过有点问题,如果路由器 启用混淆模式,那么如何拿到真实的握手协议呢? 做一个WINDOWS下破解WIFI.不需要Linux抓包!

windows 下的定时任务

linux 下的定时任务是crontab 以前都是linux的定时任务,这次在windows做了定时任务,简单记录一下 windows 2008下的定时任务配置: 控制面板->管理工具->任务计划程序->右侧创建任务 |   名称自定义,创建者 我们是阿里云的服务器.用的是阿里云的管理者名称 新建触发器 里面东西根据自己需求更改,重复任务间隔可以自定义 操作 新建 写一个测试 bat : 新建记事本->内容:E:\phpStudy\php53\php.exe -q E:\wwwro

windows下安装CI框架

CI框架是一个非常流行的 mvc框架, CI框架如何安装和使用,在CI中文网已经讲的比较详细了 ,这里记录下几个需要注意的地方. 一. index.php问题 把压缩包下载解压到项目根目录即可运行里面的demo.按照ci手册上的第一个例子,通过controllers访问welcome控制器里面的index方法 ,只需要在浏览器运行 http://localhost/CodeIgniter-3.0.6/index.php即可 (其中CodeIgniter-3.0.6为CI框架的目录可以自定义) 这

转:windows下使用gvim搭建简单的IDE编译环境(支持C/C++/Python等)

原文来自于:http://www.cnblogs.com/zhuyp1015/archive/2012/06/16/2552269.html 使用gvim在windows环境下搭建简单的IDE环境可以参见:http://my.oschina.net/u/146511/blog/50717 该文章讲的很详细,而且给出了各种辅助插件的下载链接. 这里主要讲如何在gvim环境下通过快捷键编译程序. 如果需要编译C/C++程序,首先将微软的cl 编译器 加入到环境变量中,也就是说在cmd 模式下能够使用

windows下配置OpenVPN的简单方法

下载安装OpenVPN: 用Flashget或者其它任何方式下载OpenVPN的安装包,然后安装,记得选上easy-rsa这部分脚本,用于管理CA的bat脚本.http://openvpn.se/files/install_packages/openvpn-2.0.5-gui-1.0.3-install.exe 安装完毕后,easy-rsa在C:\Program Files\OpenVPN\目录下. 下面开始配置:把easy-rsa目录下的vars.bat.sample改名为vars.bat,并