Queue downloads after tx commit
diff --git a/listener.go b/listener.go index 96ca324..d895a31 100644 --- a/listener.go +++ b/listener.go
@@ -1,7 +1,6 @@ package apiGatewayDeploy import ( - "database/sql" "encoding/json" "os" "time" @@ -92,7 +91,7 @@ } defer tx.Rollback() - err = addDeployments(tx, deploymentsToInsert) + err = insertDeployments(tx, deploymentsToInsert) if err != nil { log.Panicf("Error processing Snapshot: %v", err) } @@ -104,6 +103,10 @@ SetDB(db) + for _, dep := range deploymentsToInsert { + queueDownloadRequest(dep) + } + // transmit parsing errors back immediately if len(errResults) > 0 { go transmitDeploymentResultsToServer(errResults) @@ -178,7 +181,7 @@ log.Panicf("Error processing ChangeList: %v", err) } } - err = addDeployments(tx, deploymentsToInsert) + err = insertDeployments(tx, deploymentsToInsert) if err != nil { log.Panicf("Error processing ChangeList: %v", err) } @@ -188,6 +191,10 @@ log.Panicf("Error committing Snapshot change: %v", err) } + for _, dep := range deploymentsToInsert { + queueDownloadRequest(dep) + } + // clean up old bundles if len(deploymentsToDelete) > 0 { log.Debugf("will delete %d old bundles", len(deploymentsToDelete)) @@ -231,19 +238,6 @@ return } -func addDeployments(tx *sql.Tx, deps []DataDeployment) (err error) { - - err = insertDeployments(tx, deps) - if err != nil { - return - } - - for _, dep := range deps { - queueDownloadRequest(dep) - } - return -} - func safeDelete(file string) { if e := os.Remove(file); e != nil && !os.IsNotExist(e) { log.Warnf("unable to delete file %s: %v", file, e)