private ActivityHostProcess CreateNewActivityHostProcess() { ActivityHostProcess process = new ActivityHostProcess(_configuration.ActivityProcessIdleTimeoutSec, _configuration.LanguageMode); process.ProcessCrashed += ProcessCrashed; process.Finished += ProcessFinished; process.OnProcessIdle += ProcessIdle; PerfCountersMgr.UpdateCounterByValue( PSWorkflowPerformanceCounterSetInfo.CounterSetId, PSWorkflowPerformanceCounterIds.ActivityHostMgrProcessesPoolSize); return(process); }
internal ActivityHostProcess(int activityHostTimeoutSec, PSLanguageMode?languageMode) { _languageMode = languageMode; _useJobIPCProcess = true; _tracer.WriteMessage("BEGIN Creating new PowerShell process instance"); _processInstance = new PowerShellProcessInstance(); _tracer.WriteMessage("END Creating new PowerShell process instance "); _runspace = CreateRunspace(); _tracer.WriteMessage("New runspace created ", _runspace.InstanceId.ToString()); _timer = new Timer { AutoReset = false, Interval = TimeOut }; _timer.Elapsed += TimerElapsed; _timer.Interval = activityHostTimeoutSec > 0 ? activityHostTimeoutSec * 1000 : TimeOut; _perfCountersMgr.UpdateCounterByValue( PSWorkflowPerformanceCounterSetInfo.CounterSetId, PSWorkflowPerformanceCounterIds.ActivityHostMgrCreatedProcessesCount); }