利用开源的TaskScheduler组件实现监控和管理windows计划任务_.NET_编程开发_程序员俱乐部

中国优秀的程序员网站程序员频道CXYCLUB技术地图
热搜:
更多>>
 
您所在的位置: 程序员俱乐部 > 编程开发 > .NET > 利用开源的TaskScheduler组件实现监控和管理windows计划任务

利用开源的TaskScheduler组件实现监控和管理windows计划任务

 2013/10/18 13:17:18  软件人生  博客园  我要评论(0)
  • 摘要:对于计划任务的执行有很多种解决方案,如利用开源Quartz作业调度框架,在SQLServer的作业等等,同时Windows的任务计划程序功能也很强大,利用此可以很方便的实现很多计划任务,除了人工进行管理和维护外,可以使用开源的TaskScheduler组件进行自动管理和维护,本文主要利用开源TaskScheduler组件进行指定windows任务计划程序的监控和运维,以保证任务计划的稳定可靠,开源TaskScheduler组件的下载地址:http://taskscheduler
  • 标签:Windows 实现 利用 开源

   对于计划任务的执行有很多种解决方案,如利用开源Quartz作业调度框架,在SQL Server的作业等等,同时Windows的任务计划程序功能也很强大,利用此可以很方便的实现很多计划任务,除了人工进行管理和维护外,可以使用开源的TaskScheduler组件进行自动管理和维护,本文主要利用开源TaskScheduler组件进行指定windows任务计划程序的监控和运维,以保证任务计划的稳定可靠,开源TaskScheduler组件的下载地址:http://taskscheduler.codeplex.com/releases/view/110719 。  

 

 

  运行计划任务,会出现在windows的进程中,如下图:

  

      本文利用通过一个计划任务来定时监控管理另一个计划任务(结合使用Quartz.net实现),如另一个计划任务停止运行中,则

    自动启动该计划任务,检查指定windows进程的状态核心代码示例如下:

using System.Diagnostics;

private static bool CheckProcessRunning(string runningProcessname) { try { bool returnValue = false; Process[] processes = Process.GetProcessesByName(runningProcessname); foreach (Process process in processes) { returnValue = true; break; } return returnValue; } catch { return false; } }

         自动启动指定计划任务的核心代码如下:

using Microsoft.Win32.TaskScheduler;

public void CheckOAFlowSyncRunning() { try { bool IsP = CheckProcessRunning("windows计划任务名称"); if (IsP == false) { using (TaskService ts = new TaskService()) { var t = ts.GetTask("\Microsoft\Windows\windows计划任务名称")); if (null != t) { t.Enabled = true; t.Stop(); t.Run(); } } } } catch { } }

        通过以上的结合使用,可以封装成控制台应用程序发布到windows计划任务中,也可以封装成windows服务。

  

本博客为软件人生原创,欢迎转载,转载请标明出处:http://www.cnblogs.com/nbpowerboy/p/3375648.html 。演绎或用于商业目的,但是必须保留本文的署名软件人生(包含链接)。如您有任何疑问或者授权方面的协商,请给我留言。

  

 

 

发表评论
用户名: 匿名