1
Fork 0

Scanner now scans one album at a time

This commit is contained in:
viktorstrate 2019-08-11 15:07:01 +02:00
parent fe370003c4
commit d72a65be53
2 changed files with 14 additions and 17 deletions

View File

@ -2,7 +2,7 @@ export default function scanAll({ driver, scanUser }) {
return new Promise((resolve, reject) => {
let session = driver.session()
let allUserScans = []
let usersToScan = []
session.run('MATCH (u:User) return u').subscribe({
onNext: record => {
@ -13,21 +13,21 @@ export default function scanAll({ driver, scanUser }) {
return
}
allUserScans.push(
scanUser(user).catch(reason => {
usersToScan.push(user)
},
onCompleted: async () => {
session.close()
for (let user of usersToScan) {
try {
await scanUser(user)
} catch (reason) {
console.log(
`User scan exception for user ${user.username} ${reason}`
)
reject(reason)
})
)
},
onCompleted: () => {
session.close()
Promise.all(allUserScans).then(() => {
resolve()
})
}
}
},
onError: error => {
session.close()

View File

@ -7,7 +7,6 @@ export default async function scanUser({ driver, scanAlbum }, user) {
console.log('Scanning user', user.username, 'at', user.path)
let foundAlbumIds = []
let albumScanPromises = []
async function scanPath(path, parentAlbum) {
console.log('SCAN PATH', path)
@ -52,7 +51,7 @@ export default async function scanUser({ driver, scanAlbum }, user) {
foundImageOrAlbum = true
nextParentAlbum = album.id
foundAlbumIds.push(album.id)
albumScanPromises.push(scanAlbum(album))
await scanAlbum(album)
continue
}
@ -108,7 +107,7 @@ export default async function scanUser({ driver, scanAlbum }, user) {
}
foundAlbumIds.push(album.id)
albumScanPromises.push(scanAlbum(album))
await scanAlbum(album)
session.close()
}
@ -155,7 +154,5 @@ export default async function scanUser({ driver, scanAlbum }, user) {
session.close()
await Promise.all(albumScanPromises)
console.log('User scan complete')
}