WinServiceTask- Windows计划任务框架

网友投稿 708 2022-10-18

WinServiceTask- Windows计划任务框架

WinServiceTask- Windows计划任务框架

一、功能摘要:

1. 启动触发时间采用开源的Quartz.Net项目的Cron表达式:”00 12 * * ?” 每天中午12点触发;2. 多线程运行各任务,互不干扰;3. 自动监视配置文件,配置文件更改后服务重启;4. 配置Tasks.config中可以引用公用的资源;5. 具体任务中可以引用公有资源,并加入本任务对应的相关参数;6. 具体任务配置中加上Settings设置,方便加入一些配置信息,如果还是不能满足,那么就要自定义Extend的扩展了。

二、运行机制:

1. 每个任务做为一个独立的运行线程 隐喻:工人2. 服务本身做为一个独立线程 隐喻:监督工人3. 监督工人每隔 N 秒轮询一次任务,如发现任务的触发时间小于间隔N 即创建该任务并且启动该任务。4. 启动后的任务根据启动时间于特定时间执行任务。5. 工人工作完本身任务后自动停止。待下一轮监督工人查看时清除任务对象。

三、任务驱动UML图

四、项目内容:

1. support 调用的一些外部类库2. CS.Scheduling.Framework 任务调度框架3. CS.Scheduling.NUnitTests 一些测试,这个随便写的4. CS.Task.DataTransfer 一个数据转存的任务示例(DataTableToDataTable已经完成)5. CS.WinServiceManagerWindwosService的服务管理器,这个可以算是一个分支了。用来安装和管理实现本框架的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监视器查看即。

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:CaptureMock- Python 模拟测试框架
下一篇:Closest Equals
相关文章

 发表评论

暂时没有评论,来抢沙发吧~