/// <summary> /// Initializes a new instance of the type /// </summary> /// <param name="messageInterval">The number of messages to process between checkpoint operations</param> /// <param name="timeInterval">The time to wait between checkpointing</param> /// <param name="poisonMonitor">If a poison message monitor is not provided to test for bad messages at startup the NoopPoisonMonitor instance will be used</param> protected CheckpointingProcessor(ICheckpointPolicy checkpointPolicy, IPoisonedMonitor poisonMonitor = null) { Guard.NotNull(nameof(checkpointPolicy), checkpointPolicy); _checkpointPolicy = checkpointPolicy; _poisonMonitor = poisonMonitor ?? NoopPoisonedMonitor.Instance; }
internal async Task StartAsync(ICheckpointPolicy checkpointPolicy) { trainProcesserHost = new LearnEventProcessorHost(); await trainProcesserHost.StartAsync(new OnlineTrainerSettingsInternal { CheckpointPolicy = checkpointPolicy, JoinedEventHubConnectionString = inputEventHubConnectionString, EvalEventHubConnectionString = evalEventHubConnectionString, StorageConnectionString = storageConnectionString, Metadata = new OnlineTrainerSettings { ApplicationID = "vwunittest", TrainArguments = trainArguments }, EnableExampleTracing = false, EventHubStartDateTimeUtc = DateTime.UtcNow // ignore any events that arrived before this time }); AssertNoExceptionsThroughAppInsights(); }
/// <summary> /// Initializes a new instance of the type /// </summary> /// <param name="concurrencyPolicy">The concurrency policy the processor uses</param> /// <param name="poisonMonitor">If a poison message monitor is not provided to test for bad messages at startup the NoopPoisonMonitor instance will be used</param> public DemoProcessor(IConcurrencyPolicy concurrencyPolicy, ICheckpointPolicy checkpointPolicy, IPoisonedMonitor poisonMonitor = null) : base(checkpointPolicy, poisonMonitor) { _concurrencyPolicy = concurrencyPolicy; }