Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System;
- using System.Diagnostics;
- using System.Linq;
- using Task = TaskScheduler;
- namespace Monitor
- {
- public class Program
- {
- public static void Main(string[] args)
- {
- var monitor = new Monitor();
- var task = monitor.GetScheduledTask("First task", "10.18.16.12");
- var process = monitor.IsProcessRunning("QueueProcessor", "10.18.16.13");
- Console.WriteLine("Done");
- Console.ReadLine();
- }
- }
- public class Monitor
- {
- public bool IsProcessRunning(string processName)
- {
- var processes = Process.GetProcesses();
- // Find any running process by name
- var runningProcess = processes.Any(p => p.ProcessName == processName);
- return runningProcess;
- }
- public bool IsProcessRunning(string processName, string machine)
- {
- var processes = Process.GetProcesses(machine);
- // Find any running process by name
- var runningProcess = processes.Any(p => p.ProcessName == processName);
- return runningProcess;
- }
- public ScheduledTask GetScheduledTask(string taskName, string machine)
- {
- var scheduler = new Task.TaskScheduler();
- scheduler.Connect(machine);
- if(scheduler.Connected)
- {
- var folder = scheduler.GetFolder("");
- var task = folder.GetTask(taskName);
- if (task == null)
- throw new ScheduledTaskNotFoundException(taskName, machine);
- return new ScheduledTask(task.Name, task.Enabled, task.LastRunTime, task.LastTaskResult);
- }
- // Task was not found
- throw new Exception("Could not connect to task scheduler on machine " + machine);
- }
- }
- public class ScheduledTask
- {
- public ScheduledTask(string name, bool enabled, DateTime lastRunTime, int lastResult)
- {
- Name = name;
- Enabled = enabled;
- LastRunTime = lastRunTime;
- LastResult = lastResult;
- }
- public string Name
- {
- get;
- private set;
- }
- public bool Enabled
- {
- get;
- private set;
- }
- public DateTime LastRunTime
- {
- get;
- private set;
- }
- public int LastResult
- {
- get;
- private set;
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement