public override IRFSystemContext Start() { var useMSMQ = RFSettings.GetAppSetting("UseMSMQ", true); var manager = new RFDispatchQueueSink(_context, _workQueue); _workQueueMonitor = useMSMQ ? (RFDispatchQueueMonitorBase) new RFDispatchQueueMonitorMSMQ(_context, manager, manager, _workQueue) : (RFDispatchQueueMonitorBase) new RFDispatchQueueMonitorInProc(_context, manager, manager, _workQueue); _workQueueMonitor.StartThread(); _processingContext = _context.GetProcessingContext(null, manager, manager, _workQueueMonitor); _context.Engine.Initialize(_processingContext); return(_processingContext); // this is the root environment (time triggers) which doesn't have a tracker }
public override IRFSystemContext Start() { var manager = new RFDispatchQueueSink(_context, _workQueue); _queueMonitor = new RFDispatchQueueMonitorInProc(_context, manager, manager, _workQueue); // always use in-proc for console requests _localContext = _context.GetProcessingContext("console_" + Process.GetCurrentProcess().Id, manager, manager, _queueMonitor); _context.Engine.Initialize(_localContext); _queueMonitor.StartThread(); return(_localContext); }
public IRFReadingContext GetReadingContext() { return(RFProcessingContext.Create(this, null, null, null, null)); // could implement lightweight version }
public RFProcessingContext GetProcessingContext(string processingKey, IRFInstructionSink instructionManager, IRFEventSink eventManager, RFDispatchQueueMonitorBase workQueueMonitor) { return(RFProcessingContext.Create(this, processingKey, instructionManager, eventManager, workQueueMonitor)); }