Windows计划任务框架 WinServiceTask
2013-07-11 11:40
363 查看
一、功能摘要:
1. 启动触发时间采用开源的Quartz.Net项目的Cron表达式:"0 0 12 * * ?" 每天中午12点触发;
2. 多线程运行各任务,互不干扰;
3. 自动监视配置文件,配置文件更改后服务重启;
4. 配置Tasks.config中可以引用公用的资源;
5. 具体任务中可以引用公有资源,并加入本任务对应的相关参数;
6. 具体任务配置中加上Settings设置,方便加入一些配置信息,如果还是不能满足,那么就要自定义Extend的扩展了。
二、运行机制:
1. 每个任务做为一个独立的运行线程 隐喻:工人
2. 服务本身做为一个独立线程 隐喻:监督工人
3. 监督工人每隔 N 秒轮询一次任务,如发现任务的触发时间小于间隔N 即创建该任务并且启动该任务。
4. 启动后的任务根据启动时间于特定时间执行任务。
5. 工人工作完本身任务后自动停止。待下一轮监督工人查看时清除任务对象。
三、任务驱动UML图
UML类图
四、项目内容:
1. support 调用的一些外部类库
2. CS.Scheduling.Framework 任务调度框架
3. CS.Scheduling.NUnitTests 一些测试,这个随便写的
4. CS.Task.DataTransfer 一个数据转存的任务示例(DataTableToDataTable已经完成)
5. CS.WinServiceManager WindwosService的服务管理器,这个可以算是一个分支了。用来安装和管理实现本框架的AppForm。
6. CS.WinServiceTask WindsService的实现示例,该Demo直接调用任务调度框架。
五、任务实现代码:
1. 参见CS.Task.DataTransfer.TaskDemo的示例实现及CS.Task.DataTransfer.DataTableToDataTable实用实现
2. 继承TaskProvider类后,重写protected override Result Work() 即可。
3. 如果自已扩展了Extend节点,则要重写public override void InitExtend()方法
4. 具体备置可参见Tasks.config文件
六、WindService的调试:
1. 方法一:打开控制台,拖入CS.WinService.Demo的执行程序(该程序还是WinService)加上任一参数 如:-t 后回车
2. 方法二:通过CS.WinServiceManager安装服务。启用UDP监视器查看即。
1. 启动触发时间采用开源的Quartz.Net项目的Cron表达式:"0 0 12 * * ?" 每天中午12点触发;
2. 多线程运行各任务,互不干扰;
3. 自动监视配置文件,配置文件更改后服务重启;
4. 配置Tasks.config中可以引用公用的资源;
5. 具体任务中可以引用公有资源,并加入本任务对应的相关参数;
6. 具体任务配置中加上Settings设置,方便加入一些配置信息,如果还是不能满足,那么就要自定义Extend的扩展了。
二、运行机制:
1. 每个任务做为一个独立的运行线程 隐喻:工人
2. 服务本身做为一个独立线程 隐喻:监督工人
3. 监督工人每隔 N 秒轮询一次任务,如发现任务的触发时间小于间隔N 即创建该任务并且启动该任务。
4. 启动后的任务根据启动时间于特定时间执行任务。
5. 工人工作完本身任务后自动停止。待下一轮监督工人查看时清除任务对象。
三、任务驱动UML图
UML类图
四、项目内容:
1. support 调用的一些外部类库
2. CS.Scheduling.Framework 任务调度框架
3. CS.Scheduling.NUnitTests 一些测试,这个随便写的
4. CS.Task.DataTransfer 一个数据转存的任务示例(DataTableToDataTable已经完成)
5. CS.WinServiceManager WindwosService的服务管理器,这个可以算是一个分支了。用来安装和管理实现本框架的AppForm。
6. CS.WinServiceTask WindsService的实现示例,该Demo直接调用任务调度框架。
五、任务实现代码:
1. 参见CS.Task.DataTransfer.TaskDemo的示例实现及CS.Task.DataTransfer.DataTableToDataTable实用实现
2. 继承TaskProvider类后,重写protected override Result Work() 即可。
3. 如果自已扩展了Extend节点,则要重写public override void InitExtend()方法
4. 具体备置可参见Tasks.config文件
六、WindService的调试:
1. 方法一:打开控制台,拖入CS.WinService.Demo的执行程序(该程序还是WinService)加上任一参数 如:-t 后回车
2. 方法二:通过CS.WinServiceManager安装服务。启用UDP监视器查看即。
相关文章推荐
- Windows计划任务框架WinServiceTask
- 分享windows自带计划任务Task schedule使用指南
- WinServiceTask 任务调度,也可以用于ASP.NET实现自动服务
- C# 用TaskScheduler.dll 创建 windows任务计划
- 如何用命令行操作Windows Scheduled Task (计划任务)?
- Windows 计划任务 Task Schedule 怎么 运行 .bat文件
- C#使用定时任务框架Windows.TaskSchedule.exe安装控制台应用程序创建的Windows服务
- 项目启动后开启定时任务方法-->TimerTask中如何调用service
- Android使用service后台更新计划任务
- 利用Windows 计划任务定时将本地文件复制到共享文件夹
- 利用windows计划任务定时调用BAT执行oracle数据库重建索引
- windows命令行(DOS批处理)添加任务计划
- 创建windows计划任务
- vs2010 创建windows服务( Asp.net(C#) windows 服务 用于实现计划任务,事件监控等)
- Windows 2012 R2 计划任务发送邮件
- 利用windows的计划任务制作一个定时执行的清理端口任务
- 如何使用windows计划任务运行jar程序
- 使用ASP.NET实现Windows Service定时执行任务
- 巧用Windows的任务计划备份SDE空间数据
- Windows 无法运行计划任务的一般解决方法