public JobExecutionContext(string jobName, Guid executionId, IPushSubject <TraceEvent> traceSubject, Func <IPushObservable <TraceEvent>, IPushObservable <TraceEvent> > stopEventFilter, JobPoolDispatcher jobPoolDispatcher) { this.ExecutionId = executionId; this.JobName = jobName; this._jobPoolDispatcher = jobPoolDispatcher; this._traceSubject = traceSubject; this.StopProcessEvent = stopEventFilter(traceSubject).Do(traceEvent => this.EndOfProcessTraceEvent = traceEvent); }
public TraceExecutionContext(WaitHandle startSynchronizer, Guid executionId, JobPoolDispatcher jobPoolDispatcher) { this._jobPoolDispatcher = jobPoolDispatcher; this.ExecutionId = executionId; this.JobName = null; this._startSynchronizer = startSynchronizer; this._traceSubject = PushObservable.Empty <TraceEvent>(this._startSynchronizer); }