aboutsummaryrefslogtreecommitdiff
path: root/Emby.Server.Implementations
diff options
context:
space:
mode:
authorJPVenson <github@jpb.email>2024-10-22 10:52:34 +0000
committerJPVenson <github@jpb.email>2024-10-22 10:52:34 +0000
commit447ff1d23cb818a1f478d6540ec98eb9d180543f (patch)
treec8a7dc93e428c05d191d7965fea529f5b30c3f70 /Emby.Server.Implementations
parente331dc35ac1f8707e42f26331a22e0495d67b602 (diff)
Made Clean task async
Diffstat (limited to 'Emby.Server.Implementations')
-rw-r--r--Emby.Server.Implementations/Data/CleanDatabaseScheduledTask.cs13
1 files changed, 6 insertions, 7 deletions
diff --git a/Emby.Server.Implementations/Data/CleanDatabaseScheduledTask.cs b/Emby.Server.Implementations/Data/CleanDatabaseScheduledTask.cs
index 932bd2b05..6ea7d9197 100644
--- a/Emby.Server.Implementations/Data/CleanDatabaseScheduledTask.cs
+++ b/Emby.Server.Implementations/Data/CleanDatabaseScheduledTask.cs
@@ -30,11 +30,10 @@ namespace Emby.Server.Implementations.Data
public Task Run(IProgress<double> progress, CancellationToken cancellationToken)
{
- CleanDeadItems(cancellationToken, progress);
- return Task.CompletedTask;
+ return CleanDeadItems(cancellationToken, progress);
}
- private void CleanDeadItems(CancellationToken cancellationToken, IProgress<double> progress)
+ private async Task CleanDeadItems(CancellationToken cancellationToken, IProgress<double> progress)
{
var itemIds = _libraryManager.GetItemIds(new InternalItemsQuery
{
@@ -68,10 +67,10 @@ namespace Emby.Server.Implementations.Data
progress.Report(percent * 100);
}
- using var context = _dbProvider.CreateDbContext();
- using var transaction = context.Database.BeginTransaction();
- context.ItemValues.Where(e => e.BaseItemsMap!.Count == 0).ExecuteDelete();
- transaction.Commit();
+ using var context = await _dbProvider.CreateDbContextAsync(cancellationToken).ConfigureAwait(false);
+ using var transaction = await context.Database.BeginTransactionAsync(cancellationToken).ConfigureAwait(false);
+ await context.ItemValues.Where(e => e.BaseItemsMap!.Count == 0).ExecuteDeleteAsync(cancellationToken).ConfigureAwait(false);
+ await transaction.CommitAsync(cancellationToken).ConfigureAwait(false);
progress.Report(100);
}