/// <summary> /// Executes the specified messages. /// </summary> /// <param name="batchData">The batch data.</param> /// <param name="checkPoint">The check point.</param> /// <returns></returns> public async Task ExecuteAsync(ChangeFeedBatch batchData, Func <Task> checkPoint) { // process your data here await checkPoint(); await Task.Delay(1); }
internal Func <Func <Task>, Document, Task> CreateBatchCheckpointStrategy(int batchSize) { int batchCounter = 1; var changeFeedBatchdata = new ChangeFeedBatch(); return(async(checkpoint, data) => { var doc = (dynamic)data; changeFeedBatchdata.Docs.Add(data); batchCounter++; if (batchCounter > batchSize) { //Process your batch data and call check point await this.ChangeFeedDataProcessor.ExecuteAsync(changeFeedBatchdata, checkpoint); batchCounter = 1; changeFeedBatchdata = new ChangeFeedBatch(); } }); }