reduce task allocations by making IBN api synchronous

This commit is contained in:
Luke Pulverenti
2013-09-16 22:08:18 -04:00
parent aaecc99d63
commit 1007f24200
27 changed files with 199 additions and 376 deletions

View File

@@ -15,7 +15,7 @@ namespace MediaBrowser.Server.Implementations.Library.Validators
/// <summary>
/// The _library manager
/// </summary>
private readonly LibraryManager _libraryManager;
private readonly ILibraryManager _libraryManager;
/// <summary>
/// The _user manager
@@ -27,7 +27,7 @@ namespace MediaBrowser.Server.Implementations.Library.Validators
/// </summary>
private readonly ILogger _logger;
public GenresValidator(LibraryManager libraryManager, IUserManager userManager, ILogger logger)
public GenresValidator(ILibraryManager libraryManager, IUserManager userManager, ILogger logger)
{
_libraryManager = libraryManager;
_userManager = userManager;
@@ -102,7 +102,7 @@ namespace MediaBrowser.Server.Implementations.Library.Validators
private async Task UpdateItemByNameCounts(string name, CancellationToken cancellationToken, Dictionary<Guid, Dictionary<CountType, int>> counts)
{
var itemByName = await _libraryManager.GetGenre(name, cancellationToken, true, true).ConfigureAwait(false);
var itemByName = _libraryManager.GetGenre(name);
foreach (var libraryId in counts.Keys)
{
@@ -110,6 +110,8 @@ namespace MediaBrowser.Server.Implementations.Library.Validators
itemByName.UserItemCounts[libraryId] = itemCounts;
}
await itemByName.RefreshMetadata(cancellationToken).ConfigureAwait(false);
}
private void SetItemCounts(Guid userId, IEnumerable<BaseItem> allItems, Dictionary<string, Dictionary<Guid, Dictionary<CountType, int>>> masterDictionary)