[C#][代碼收集] - 利用開源的TaskScheduler組件實現監控和管理windows計劃任務
阿新 • • 發佈:2017-10-19
span releases [] log code str 示例 schedule 調度框架 [轉載] - 軟件人生 - 利用開源的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 { } }查看代碼
[C#][代碼收集] - 利用開源的TaskScheduler組件實現監控和管理windows計劃任務