public MyProcessManager(ISimpleLogger simpleLogger, IProcessWatcher processWatcher, IProcessAdapter processAdapter) { this.simpleLoger = simpleLogger; this.processWatcher = processWatcher; this.processAdapter = processAdapter; processList = new List <IProcessItem>(); }
public ProcessActor(IProcessAdapter process, ILogger log) : base(log) { if (process == null) throw new ArgumentNullException(nameof(process)); _process = process; Receive<StartProcessForFile>(msg => OnStartProcessForFile(msg)); }
void DoWork() { processWatcher = new MyProcessWatcher(); simpleLogger = new MySimpleLogger(); processAdapeter = new MyProcessAdapter(); processManager = new MyProcessManager(simpleLogger, processWatcher, processAdapeter); processManager.ListChanged += HandleListChanged; processManager.Load(); processManager.StartWatch(); }
public ProcessActor(IProcessAdapter process, ILogger log) : base(log) { if (process == null) { throw new ArgumentNullException(nameof(process)); } _process = process; Receive <StartProcessForFile>(msg => OnStartProcessForFile(msg)); }
/// <summary> Gets process model. </summary> /// /// <param name="process"> The process. </param> /// /// <returns> The process model. </returns> public IProcessModel GetProcessModel(IProcessAdapter process) { Id = process.Id; Name = process.ProcessName; RamUsage = process.WorkingSet64; Priority = process.BasePriority; CpuUsageTime = process.TotalProcessorTime; RunningTime = Clock.Now - process.StartTime; CpuUsagePercent = 100 * process.TotalProcessorTime.TotalMilliseconds / RunningTime.TotalMilliseconds; return(this); }
/// <summary> /// runs the ParallelRunner process after initialization /// </summary> /// <param name="proc"></param> /// <param name="enableRedirection"></param> private int RunProcess(IProcessAdapter proc) { proc.Start(); proc.WaitForExit(PollingTimeMs); while (!_runCancelled() && !proc.HasExited) { proc.WaitForExit(PollingTimeMs); } return(proc.ExitCode); }
/// <summary> /// Class constructor. /// </summary> /// <param name="processAdapter">WorkflowAdapter</param> /// <param name="logger">logger</param> /// <param name="localizer">Dico pour les locales</param> public ProcessController( IProcessAdapter processAdapter, ILogger <ProcessController> logger, IStringLocalizer <SharedResource> localizer, IServiceProvider serviceProvider, IOptions <AppSettings> appSettings) { _processAdapter = processAdapter; _logger = logger; _localizer = localizer; _serviceProvider = serviceProvider; _appSettings = appSettings; }
/// <summary> /// runs the ParallelRunner process after initialization /// </summary> /// <param name="proc"></param> /// <param name="enableRedirection"></param> private int RunProcess(IProcessAdapter proc) { ConsoleWriter.WriteLine(Properties.Resources.ParallelRunMessages + "\n-------------------------------------------------------------------------------------------------------"); proc.Start(); proc.WaitForExit(PollingTimeMs); while (!_runCancelled() && !proc.HasExited) { proc.WaitForExit(PollingTimeMs); } ConsoleWriter.WriteLine("-------------------------------------------------------------------------------------------------------"); return(proc.ExitCode); }
/// <summary> /// executes the run of the test by using the Init and RunProcss routines /// </summary> /// <param name="fileName">the prcess file name</param> /// <param name="arguments">the arguments for the process</param> /// <param name="failureReason"> the reason why the process failed </param> /// <returns> the exit code of the process </returns> private int ExecuteProcess(string fileName, string arguments, ref string failureReason) { IProcessAdapter processAdapter = ProcessAdapterFactory.CreateAdapter(GetProcessTypeForCurrentSession(fileName, arguments)); if (processAdapter == null) { failureReason = "Could not create ProcessAdapter instance!"; return((int)ParallelRunResult.Error); } try { int exitCode = RunProcess(processAdapter); if (_runCancelled()) { if (!processAdapter.HasExited) { processAdapter.Kill(); return((int)ParallelRunResult.Canceled); } } return(exitCode); } catch (Exception e) { failureReason = e.Message; return((int)ParallelRunResult.Error); } finally { if (processAdapter != null) { processAdapter.Close(); } } }