Call "FinishImport" even on error

This gives the importer the chance to close connections
and free resources to ensure already imported items are
properly handled.
This commit is contained in:
Philipp Wolfer 2025-05-04 10:31:36 +02:00
parent 3b1adc9f1f
commit 069f0de2ee
No known key found for this signature in database
GPG key ID: 8FDF744D4919943B

View file

@ -90,8 +90,7 @@ func process[R models.LovesResult | models.ListensResult, P ImportProcessor[R]](
defer close(progress)
result := models.ImportResult{}
err := processor.ImportBackend().StartImport()
if err != nil {
if err := processor.ImportBackend().StartImport(); err != nil {
out <- handleError(result, err, progress)
return
}
@ -99,6 +98,7 @@ func process[R models.LovesResult | models.ListensResult, P ImportProcessor[R]](
for exportResult := range results {
importResult, err := processor.Import(exportResult, result, out, progress)
if err != nil {
processor.ImportBackend().FinishImport()
out <- handleError(result, err, progress)
return
}
@ -106,8 +106,7 @@ func process[R models.LovesResult | models.ListensResult, P ImportProcessor[R]](
progress <- models.Progress{}.FromImportResult(result)
}
err = processor.ImportBackend().FinishImport()
if err != nil {
if err := processor.ImportBackend().FinishImport(); err != nil {
out <- handleError(result, err, progress)
return
}