aboutsummaryrefslogtreecommitdiff
path: root/MediaBrowser.Controller/BaseItemManager/BaseItemManager.cs
diff options
context:
space:
mode:
Diffstat (limited to 'MediaBrowser.Controller/BaseItemManager/BaseItemManager.cs')
-rw-r--r--MediaBrowser.Controller/BaseItemManager/BaseItemManager.cs17
1 files changed, 16 insertions, 1 deletions
diff --git a/MediaBrowser.Controller/BaseItemManager/BaseItemManager.cs b/MediaBrowser.Controller/BaseItemManager/BaseItemManager.cs
index 67aa7f338..0c8fa8244 100644
--- a/MediaBrowser.Controller/BaseItemManager/BaseItemManager.cs
+++ b/MediaBrowser.Controller/BaseItemManager/BaseItemManager.cs
@@ -1,5 +1,6 @@
-using System;
+using System;
using System.Linq;
+using System.Threading;
using MediaBrowser.Controller.Channels;
using MediaBrowser.Controller.Configuration;
using MediaBrowser.Controller.Entities;
@@ -19,9 +20,23 @@ namespace MediaBrowser.Controller.BaseItemManager
public BaseItemManager(IServerConfigurationManager serverConfigurationManager)
{
_serverConfigurationManager = serverConfigurationManager;
+
+ MetadataRefreshThrottler = new Lazy<SemaphoreSlim>(() => {
+ var concurrency = _serverConfigurationManager.Configuration.LibraryMetadataRefreshConcurrency;
+
+ if (concurrency <= 0)
+ {
+ concurrency = Environment.ProcessorCount;
+ }
+
+ return new SemaphoreSlim(concurrency);
+ });
}
/// <inheritdoc />
+ public Lazy<SemaphoreSlim> MetadataRefreshThrottler { get; private set; }
+
+ /// <inheritdoc />
public bool IsMetadataFetcherEnabled(BaseItem baseItem, LibraryOptions libraryOptions, string name)
{
if (baseItem is Channel)