From 1506521a7855857c42c508f7a767c219476cd450 Mon Sep 17 00:00:00 2001 From: Bill Thornton Date: Fri, 10 May 2024 11:44:16 -0400 Subject: [PATCH] Add configuration for scan fanout concurrency --- src/controllers/dashboard/general.html | 6 +++++- src/controllers/dashboard/general.js | 2 ++ src/strings/en-us.json | 4 +++- 3 files changed, 10 insertions(+), 2 deletions(-) diff --git a/src/controllers/dashboard/general.html b/src/controllers/dashboard/general.html index 62f92d097c4..c1cb04a9e15 100644 --- a/src/controllers/dashboard/general.html +++ b/src/controllers/dashboard/general.html @@ -83,7 +83,11 @@

${HeaderBranding}

${HeaderPerformance}

- + +
${LibraryScanFanoutConcurrencyHelp}
+
+
+
${LabelParallelImageEncodingLimitHelp}
diff --git a/src/controllers/dashboard/general.js b/src/controllers/dashboard/general.js index ee495259cf6..d62cfbd16f1 100644 --- a/src/controllers/dashboard/general.js +++ b/src/controllers/dashboard/general.js @@ -19,6 +19,7 @@ function loadPage(page, config, languageOptions, systemInfo) { $('#selectLocalizationLanguage', page).html(languageOptions.map(function (language) { return ''; })).val(config.UICulture); + page.querySelector('#txtLibraryScanFanoutConcurrency').value = config.LibraryScanFanoutConcurrency || ''; page.querySelector('#txtParallelImageEncodingLimit').value = config.ParallelImageEncodingLimit || ''; loading.hide(); @@ -35,6 +36,7 @@ function onSubmit() { config.MetadataPath = $('#txtMetadataPath', form).val(); config.MetadataNetworkPath = $('#txtMetadataNetworkPath', form).val(); config.QuickConnectAvailable = form.querySelector('#chkQuickConnectAvailable').checked; + config.LibraryScanFanoutConcurrency = parseInt(form.querySelector('#txtLibraryScanFanoutConcurrency').value || '0', 10); config.ParallelImageEncodingLimit = parseInt(form.querySelector('#txtParallelImageEncodingLimit').value || '0', 10); ApiClient.updateServerConfiguration(config).then(function() { diff --git a/src/strings/en-us.json b/src/strings/en-us.json index 3b79812d96b..f4ecc81c35a 100644 --- a/src/strings/en-us.json +++ b/src/strings/en-us.json @@ -772,7 +772,7 @@ "LabelOriginalTitle": "Original title", "LabelOverview": "Overview", "LabelParallelImageEncodingLimit": "Parallel image encoding limit", - "LabelParallelImageEncodingLimitHelp": "Maximum amount of image encodings that are allowed to run in parallel. Setting this to 0 will choose a limit based on your system specs.", + "LabelParallelImageEncodingLimitHelp": "Maximum number of image encodings that are allowed to run in parallel. Setting this to 0 will choose a limit based on your systems core count.", "LabelParentalRating": "Parental rating", "LabelParentNumber": "Parent number", "LabelPassword": "Password", @@ -959,6 +959,8 @@ "LeaveBlankToNotSetAPassword": "You can leave this field blank to set no password.", "Letterer": "Letterer", "LibraryAccessHelp": "Select the libraries to share with this user. Administrators will be able to edit all folders using the metadata manager.", + "LibraryScanFanoutConcurrency": "Parallel library scan tasks limit", + "LibraryScanFanoutConcurrencyHelp": "Maximum number of parallel tasks during library scans. Setting this to 0 will choose a limit based on your systems core count. WARNING: Setting this number too high may cause issues with network file systems; if you encounter problems lower this number.", "LimitSupportedVideoResolution": "Limit maximum supported video resolution", "LimitSupportedVideoResolutionHelp": "Use 'Maximum Allowed Video Transcoding Resolution' as maximum supported video resolution.", "List": "List",