Beispiel #1
0
        public bool Commit()
        {
            _committed = true;
            var end = DateTime.Now;

            _log.Debug($"Pseudo Transaction COMMIT at {end} elapsed time {end.Subtract(_trxStarted).TotalMilliseconds}ms for {_id} [{_recordCount} records]");



            Parallel.ForEach(_index.Keys, (recordName) => {
                var outWriter = _inst[recordName];

                using (var session = MongoDBOutFactory.Client.StartSession())
                {
                    var writeStart = DateTime.Now;
                    using (var view = _cache.ReadOnlyView())
                        outWriter.write(session, new BsonCacheEnumerable(_index[recordName], view));
                    _log.Trace($"{recordName} records written in {DateTime.Now.Subtract(writeStart).TotalMilliseconds}ms ");
                }
            });

            return(true);
        }