refactor: update GenericLoader to use ProcessBatchWithRetries; enhance error handling and retry logic

This commit is contained in:
2026-05-08 07:50:54 -05:00
parent a216a8016f
commit c4e233401b
6 changed files with 101 additions and 121 deletions

View File

@@ -13,6 +13,7 @@ import (
dbwrapper "git.ksdemosapps.com/kylesoda/go-migrate/internal/app/db-wrapper"
"git.ksdemosapps.com/kylesoda/go-migrate/internal/app/etl"
"git.ksdemosapps.com/kylesoda/go-migrate/internal/app/etl/extractors"
"git.ksdemosapps.com/kylesoda/go-migrate/internal/app/etl/loaders"
"git.ksdemosapps.com/kylesoda/go-migrate/internal/app/etl/table_analyzers"
"git.ksdemosapps.com/kylesoda/go-migrate/internal/app/etl/transformers"
"git.ksdemosapps.com/kylesoda/go-migrate/internal/app/models"
@@ -43,7 +44,7 @@ func processMigrationJob(
targetTableAnalyzer etl.TableAnalyzer,
extractor extractors.GenericExtractor,
azureClient *azure.Client,
loader etl.Loader,
loader loaders.GenericLoader,
job config.Job,
targetDbType string,
) models.JobResult {
@@ -189,12 +190,12 @@ func processMigrationJob(
for range job.MaxLoaders {
wgLoaders.Go(func() {
loader.Exec(
loader.Consume(
localCtx,
job.TargetTable,
targetColTypes,
job.Retry,
chBatchesTransformed,
chLoadersErrors,
chJobErrors,
&wgActiveBatches,
&rowsLoaded,