Пример #1
0
        private void RunBackup(long taskId, Raven.Server.Documents.DocumentDatabase documentDatabase, bool isFullBackup, DocumentStore store)
        {
            var periodicBackupRunner = documentDatabase.PeriodicBackupRunner;
            var op    = periodicBackupRunner.StartBackupTask(taskId, isFullBackup);
            var value = WaitForValue(() =>
            {
                var status = store.Maintenance.Send(new GetOperationStateOperation(op)).Status;
                return(status);
            }, OperationStatus.Completed);

            Assert.Equal(OperationStatus.Completed, value);
        }
Пример #2
0
        private static void RunBackup(long taskId, Raven.Server.Documents.DocumentDatabase documentDatabase, bool forceAlwaysFullBackup = false)
        {
            var periodicBackupRunner = documentDatabase.PeriodicBackupRunner;

            periodicBackupRunner.StartBackupTask(taskId, forceAlwaysFullBackup);

            var cts = new CancellationTokenSource();

            cts.CancelAfter(Debugger.IsAttached ? 100000000 : 10000);
            while (periodicBackupRunner.HasRunningBackups() && cts.IsCancellationRequested == false)
            {
                Thread.Sleep(100);
            }

            if (cts.IsCancellationRequested)
            {
                Assert.False(true, "Timed out waiting for backup. It shouldn't take more than 10 seconds to run, even on slow machine...");
            }
        }