Example #1
0
        private bool FlushHandler(FlushBufferMessage msg)
        {
            var log         = Context.GetLogger();
            var coordinator = Context.System.ActorSelection("/user/akkaConsumerWrapper/messageRouter");

            if (Buffer.Any())
            {
                try
                {
                    this.mediator.Send(new InsertOrUpdateSomeContract()
                    {
                        Data = Buffer
                    }).GetAwaiter().GetResult();
                }
                catch (SqlException ex)
                {
                    log.Error(ex.Message);
                }

                coordinator.Tell(new BatchOffsetCommits()
                {
                    Commits = OffsetPartition.Select(m => new CommitMessage()
                    {
                        TopicPartitionOffset = m
                    }).ToList()
                });

                Buffer.Clear();

                this.OffsetPartition.Clear();
            }

            return(false);
        }
Example #2
0
        public bool Flush(FlushBufferMessage m)
        {
            var aggregate = new AggregatedBatchesOfCommits()
            {
                Batches = this.batches
            };
            var coordinator = Context.System.ActorSelection("/user/akkaConsumerWrapper");

            coordinator.Tell(aggregate);
            this.batches.Clear();
            return(false);
        }