QQ:929412592 

[C#][代码收集] - 利用开源的TaskScheduler组件实现监控和管理windows计划任务

[转载] - 软件人生 - 利用开源的TaskScheduler组件实现监控和管理windows计划任务 [编辑]

对于计划任务的执行有很多种解决方案,如利用开源Quartz作业调度框架,在SQL Server的作业等等,同时Windows的任务计划程序功能也很强大,

利用此可以很方便的实现很多计划任务,除了人工进行管理和维护外,可以使用开源的TaskScheduler组件进行自动管理和维护,

本文主要利用开源TaskScheduler组件进行指定windows任务计划程序的监控和运维,以保证任务计划的稳定可靠,

开源TaskScheduler组件的下载地址:http://taskscheduler.codeplex.com/releases/view/110719 。  


   01、 系统任务计划程序

   02、 检查指定windows进程的状态核心代码 

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


 01、系统任务计划程序 目录

  

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

   

 02、检查指定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;
    }
}
查看代码

 03、自动启动指定计划任务的核心代码如下 目录

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
    {

    }
}
查看代码
 
 
posted @ 2017-10-19 08:50  辉创1989  阅读(1208)  评论(0编辑  收藏  举报