/// <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);
        }
Exemple #2
0
        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();
                }
            });
        }