Adds a 'Match after scan' option to the manual schedule configuration options for scanning.

This commit is contained in:
Marke Hallowell 2025-11-03 20:55:44 -08:00
parent 0c7b738b7c
commit 0ab72d879e
8 changed files with 169 additions and 101 deletions

View file

@ -3,6 +3,8 @@ const cron = require('../libs/nodeCron')
const Logger = require('../Logger')
const Database = require('../Database')
const LibraryScanner = require('../scanner/LibraryScanner')
const Scanner = require('../scanner/Scanner')
const { checkRemoveEmptySeries, checkRemoveAuthorsWithNoBooks } = require('../utils/cleanup')
const ShareManager = require('./ShareManager')
@ -74,7 +76,16 @@ class CronManager {
Logger.error(`[CronManager] Library not found for scan cron ${_library.id}`)
} else {
Logger.debug(`[CronManager] Library scan cron executing for ${library.name}`)
LibraryScanner.scan(library)
await LibraryScanner.scan(library)
if (library.settings.matchAfterScan) {
Logger.debug(`[CronManager] Library scan cron matching books for ${library.name}`)
const apiRouterCtx = {
checkRemoveEmptySeries,
checkRemoveAuthorsWithNoBooks
}
Scanner.matchLibraryItems(apiRouterCtx, library)
}
}
})
this.libraryScanCrons.push({