changeset 5109:c0ceec7e6f85 queued-stage-done

Define constants for review jobs.
author Sascha L. Teichmann <sascha.teichmann@intevation.de>
date Wed, 25 Mar 2020 15:11:04 +0100
parents 89639e02cff0
children 4dc2e6dc6c7d
files pkg/controllers/importqueue.go pkg/imports/queue.go
diffstat 2 files changed, 17 insertions(+), 6 deletions(-) [+]
line wrap: on
line diff
--- a/pkg/controllers/importqueue.go	Wed Mar 25 12:45:56 2020 +0100
+++ b/pkg/controllers/importqueue.go	Wed Mar 25 15:11:04 2020 +0100
@@ -121,7 +121,7 @@
 	}
 
 	// Always filter review jobs. They are only for internal use.
-	cond(` NOT kind LIKE $%d `, `%#review`)
+	cond(` NOT kind LIKE '%%` + imports.ReviewJobSuffix + `'`)
 
 	if query := req.FormValue("query"); query != "" {
 		query = "%" + query + "%"
--- a/pkg/imports/queue.go	Wed Mar 25 12:45:56 2020 +0100
+++ b/pkg/imports/queue.go	Wed Mar 25 15:11:04 2020 +0100
@@ -108,6 +108,12 @@
 	runExclusive = -66666
 )
 
+const (
+	ReviewJobSuffix = "#review"
+	reviewJobRetrys = 10
+	reviewJobWait   = time.Minute
+)
+
 type importQueue struct {
 	signalChan chan struct{}
 	creatorsMu sync.Mutex
@@ -229,7 +235,7 @@
 }
 
 func (rjc *reviewedJobCreator) Description() string {
-	return rjc.Description() + "#reviewed"
+	return rjc.Description() + ReviewJobSuffix
 }
 
 func (*reviewedJobCreator) StageDone(context.Context, *sql.Tx, int64, Feedback) error {
@@ -322,7 +328,7 @@
 	q.creatorsMu.Lock()
 	defer q.creatorsMu.Unlock()
 	q.creators[kind] = jc
-	q.creators[kind+"#review"] = &reviewedJobCreator{jobCreator: jc}
+	q.creators[kind+ReviewJobSuffix] = &reviewedJobCreator{jobCreator: jc}
 
 }
 
@@ -598,11 +604,16 @@
 	if err != nil {
 		return err
 	}
+
+	// Try a little harder to persist the decision.
+	trys := reviewJobRetrys
+	wait := reviewJobWait
+
 	rID, err := q.addJob(
-		JobKind(kind+"#review"),
+		JobKind(kind+ReviewJobSuffix),
 		time.Now(),
-		nil,
-		nil,
+		&trys,
+		&wait,
 		reviewer,
 		false,
 		serialized)