mirror of
https://github.com/jellyfin/jellyfin.git
synced 2026-06-26 17:40:30 +01:00
Reduce bottlenecks scan code (#9863)
This commit is contained in:
@@ -1244,14 +1244,6 @@ namespace MediaBrowser.Controller.Entities
|
||||
return RefreshMetadata(new MetadataRefreshOptions(new DirectoryService(FileSystem)), cancellationToken);
|
||||
}
|
||||
|
||||
protected virtual void TriggerOnRefreshStart()
|
||||
{
|
||||
}
|
||||
|
||||
protected virtual void TriggerOnRefreshComplete()
|
||||
{
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Overrides the base implementation to refresh metadata for local trailers.
|
||||
/// </summary>
|
||||
@@ -1260,8 +1252,6 @@ namespace MediaBrowser.Controller.Entities
|
||||
/// <returns>true if a provider reports we changed.</returns>
|
||||
public async Task<ItemUpdateType> RefreshMetadata(MetadataRefreshOptions options, CancellationToken cancellationToken)
|
||||
{
|
||||
TriggerOnRefreshStart();
|
||||
|
||||
var requiresSave = false;
|
||||
|
||||
if (SupportsOwnedItems)
|
||||
@@ -1281,21 +1271,14 @@ namespace MediaBrowser.Controller.Entities
|
||||
}
|
||||
}
|
||||
|
||||
try
|
||||
{
|
||||
var refreshOptions = requiresSave
|
||||
? new MetadataRefreshOptions(options)
|
||||
{
|
||||
ForceSave = true
|
||||
}
|
||||
: options;
|
||||
var refreshOptions = requiresSave
|
||||
? new MetadataRefreshOptions(options)
|
||||
{
|
||||
ForceSave = true
|
||||
}
|
||||
: options;
|
||||
|
||||
return await ProviderManager.RefreshSingleItem(this, refreshOptions, cancellationToken).ConfigureAwait(false);
|
||||
}
|
||||
finally
|
||||
{
|
||||
TriggerOnRefreshComplete();
|
||||
}
|
||||
return await ProviderManager.RefreshSingleItem(this, refreshOptions, cancellationToken).ConfigureAwait(false);
|
||||
}
|
||||
|
||||
protected bool IsVisibleStandaloneInternal(User user, bool checkFolders)
|
||||
@@ -1367,7 +1350,7 @@ namespace MediaBrowser.Controller.Entities
|
||||
private async Task<bool> RefreshExtras(BaseItem item, MetadataRefreshOptions options, IReadOnlyList<FileSystemMetadata> fileSystemChildren, CancellationToken cancellationToken)
|
||||
{
|
||||
var extras = LibraryManager.FindExtras(item, fileSystemChildren, options.DirectoryService).ToArray();
|
||||
var newExtraIds = extras.Select(i => i.Id).ToArray();
|
||||
var newExtraIds = Array.ConvertAll(extras, x => x.Id);
|
||||
var extrasChanged = !item.ExtraIds.SequenceEqual(newExtraIds);
|
||||
|
||||
if (!extrasChanged && !options.ReplaceAllMetadata && options.MetadataRefreshMode != MetadataRefreshMode.FullRefresh)
|
||||
|
||||
Reference in New Issue
Block a user