Пример #1
0
        private async void InsertDocuments()
        {
            if (CommandDeleteData)
            {
                DeleteDatabaseCollectionAsync(CommandDatabaseCollectionName);
            }

            var cosmosCollection = GetDatabaseCollectionAsync(CommandDatabaseCollectionName);

            Stopwatch timer = new Stopwatch();

            timer.Start();

            while (!(timer.Elapsed > (_defaultTimeout() * 2)))
            {
                try
                {
                    var insertOperation = await new MongoDocumentInserter().InsertData(cosmosCollection);
                    _testRunStatistics.AddWriteOperation(insertOperation.ElapsedTime);
                    ConsoleWrite(ConsoleColor.Green, $"Data producer thread... :: session {insertOperation.Session.ToString()} inserted document count {insertOperation.Counter} - time elapsed {insertOperation.ElapsedTime.TotalMilliseconds}ms");
                    Thread.Sleep(200);
                }
                catch (MongoDocumentInsertException ie)
                {
                    _testRunStatistics.AddError();
                    ConsoleWrite(ConsoleColor.Red, $"Data producer thread... :: exception on {ie.Session} insert {ie.SessionCounter} {ie.Message}");
                }
            }

            _threadBarrier.SignalAndWait(-1);
        }