diff options
| author | JPVenson <github@jpb.email> | 2024-10-22 10:52:34 +0000 |
|---|---|---|
| committer | JPVenson <github@jpb.email> | 2024-10-22 10:52:34 +0000 |
| commit | 447ff1d23cb818a1f478d6540ec98eb9d180543f (patch) | |
| tree | c8a7dc93e428c05d191d7965fea529f5b30c3f70 | |
| parent | e331dc35ac1f8707e42f26331a22e0495d67b602 (diff) | |
Made Clean task async
| -rw-r--r-- | Emby.Server.Implementations/Data/CleanDatabaseScheduledTask.cs | 13 |
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); } |
