TaskScheduler一个.NET版任务调度器

TaskScheduler是一个.net版的任务调度器。概念少,简单易用。

  1. 支持SimpleTrigger触发器,指定固定时间间隔和执行次数;
  2. 支持CronTrigger触发器,用强大的Cron表达式满足日历形式的复杂触发规则;
  3. 支持动态添加和删除任务,可根据具体需求实现复杂逻辑;
static void Main(string[] args)
        {
            Scheduler scheduler = new Scheduler();

            SimpleTrigger simpleTrigger = new SimpleTrigger(2, 3);
            CronTrigger cronTrigger = new CronTrigger("0/5 * * ? * MON-FRI");

            scheduler.AddJob("job1", cronTrigger, (sch, trigger) =>
             {
                 Console.WriteLine("cronTrigger触发,工作日每隔5秒");
             });

            scheduler.AddJob("job2", simpleTrigger, (sch, trigger) =>
             {
                 Console.WriteLine("simpleTrigger触发,每隔两秒,本来要执行三次的");

                 Console.WriteLine("终结job2");
                 sch.RemoveJob("job2");
                 Console.WriteLine("动态加入jobnew");
                 scheduler.AddJob("jobnew", new SimpleTrigger(2, 2), (s, t) =>
                 {
                     Console.WriteLine("jobnew代替job2,执行后两次");
                 });
             });

            scheduler.Start();
            Console.ReadLine();
        }

源码地址:http://git.oschina.net/loogn/TaskScheduler

时间: 2024-08-14 20:21:10

TaskScheduler一个.NET版任务调度器的相关文章

《CLR via C#》之线程处理——任务调度器

<CLR via C#>之线程基础--任务调度器 <CLR via C#>之线程基础--任务调度器线程池任务调度器设置线程池限制如何管理工作者线程同步上下文任务调度器自定义TaskScheduler派生类 FCL提供了两个派生子TaskScheduler的类型:线程池任务调度器(thread pool task scheduler),和同步上下文任务调度器(synchronization context task scheduler).默认情况下都使用线程池任务调度器. 线程池任务

javascript实现移动端网页版阅读器

现在手机上的文本阅读app已经非常丰富,良好的阅读体验与海量的书库常常令我感到无比兴奋. 我想到8年前用一点几寸屏幕的mp3看电子书的情景,顿生一种淡淡的温馨.再久远一些,小的时候,我也经常和小伙伴们组团去书店看白书,也就是白看书.古老的木质书架上那一叠叠厚重的黄皮小说书,在年幼的我们眼里仿佛是比盘子里的午餐肉更加美味可口的东西. 而在当今这个信息化的时代,看书变得空前的便利,可是儿时那种期待和兴奋的感受却消失在了时间的长河. 岁月在流逝,时代在进步. 愿放下所有的浮躁,在新的时代愉快地生活,无

一个开源.net混淆器——ConfuserEx (收藏)

一个开源.net混淆器——ConfuserEx http://yck1509.github.io/ConfuserEx/ 由于项目中要用到.net 混淆器,网上搜寻了很多款,比如Dotfuscator.xeoncode.foxit等等. 但大部分收费,当然也有破解版的,公司要求不能用盗版软件. 找了半天终于找到了ConfuserEX,用起来还行,就赶紧拿出来给大家分享下. 下载地址:https://github.com/yck1509/ConfuserEx/releases 由于网上中文介绍的比

SST-超级简单任务调度器结构分析

SST(Super Simple Task) 是一个基于任务优先级.抢占式.事件驱动.RTC.单堆栈的超级简单任务调度器,它基于Rober Ward一篇论文的思想,Miro Samek用C重新编程实现的,它是QP中QK的的基本思想. QK加上状态机事件处理的方法QEP,再加上任务的注册与事件的保存与分发功能QF,再加上串口调试功能QSpy,再加上基于模型驱动的开发QM,就成了QP. 2015年,QP获得“嵌入式计算设计”顶级发明奖[1]. 1.SST层次结构 ? 2.SST总体结构 ? 发送事件

4个小时实现一个HTML5音乐播放器

技术点:ES6+Webpack+HTML5 Audio+Sass 这里,我们将一步步的学到如何从零去实现一个H5音乐播放器. 首先来看一下最终的实现效果:Demo链接 接下来就步入正题: 要做一个音乐播放器就要非常了解在Web中音频播放的方式,通常都采用HTML5的audio标签关于audio标签,它有大量的属性.方法和事件,在这里我就做一个大致的介绍. 属性:src:必需,音频来源:controls:常见,设置后显示浏览器默认的audio控制面板,不设置默认隐藏audio标签:autoplay

Java实现的一个简单的下载器

package com.shawearn.download;import java.io.BufferedInputStream;import java.io.BufferedOutputStream;import java.io.DataInputStream;import java.io.DataOutputStream;import java.io.EOFException;import java.io.File;http://www.huiyi8.com/jiaoben/import j

对于同一套应用程序如何发布一个体验版(有部分功能)完整版(有完整功能)

最近项目中,先做一个版本给用户(普通用户作为体验使用).之后再有一个完整功能版. #define OFFLINE using System; using System.Collections.Generic; using System.Diagnostics; using System.Linq; using System.Text; using System.Threading.Tasks; namespace 完整版_精简版 { class Program { static void Mai

用 python 实现一个多线程网页下载器

今天上来分享一下昨天实现的一个多线程网页下载器. 这是一个有着真实需求的实现,我的用途是拿它来通过 HTTP 方式向服务器提交游戏数据.把它放上来也是想大家帮忙挑刺,找找 bug,让它工作得更好. keywords:python,http,multi-threads,thread,threading,httplib,urllib,urllib2,Queue,http pool,httppool 废话少说,上源码: 1 # -*- coding:utf-8 -*- 2 import urllib,

直播的本质(创业者应该要从商业模式的右边开始思考,你为用户创造了什么价值?找客户并不难,但要想办法让客户不离不弃;PC端功能的丰富很重要,因为手机版通常只是一个迷你版)

我想稍微给直播这件事浇点冷水. 的确,直播现在越来越火,YouTube凭着良好的基础建设平台前段时间也做起了直播,Facebook Live最近也加入了变脸.预定直播时间和双人录制的功能,更不用说国内的如火如荼:KTV在直播.电商行业在直播.金融行业在直播.不过想想以前的球赛.晚会也是直播,这并不稀奇.真正带来巨大改变的是移动端直播的兴起,让人具备了随时随地观看的可能,所以说关键是技术创新的整体“生产率提升”效应,而不是创新本身提高了“生产力”水平.我们对互联网连接一切这种文化所做的选择,结果却