Mercurial > gemma
comparison pkg/imports/queue.go @ 1168:930fdd8b474f
Track successfull imports in a separate table to be able to remove them later.
author | Sascha L. Teichmann <sascha.teichmann@intevation.de> |
---|---|
date | Wed, 14 Nov 2018 12:23:10 +0100 |
parents | 443fc80a315f |
children | 3d50f558870c |
comparison
equal
deleted
inserted
replaced
1167:1ae93a0438df | 1168:930fdd8b474f |
---|---|
34 Warn(fmt string, args ...interface{}) | 34 Warn(fmt string, args ...interface{}) |
35 Error(fmt string, args ...interface{}) | 35 Error(fmt string, args ...interface{}) |
36 } | 36 } |
37 | 37 |
38 Job interface { | 38 Job interface { |
39 Do(*sql.Conn, Feedback) error | 39 Do(int64, context.Context, *sql.Conn, Feedback) error |
40 CleanUp() error | 40 CleanUp() error |
41 } | 41 } |
42 | 42 |
43 JobKind string | 43 JobKind string |
44 | 44 |
353 feedback := logFeedback(idj.id) | 353 feedback := logFeedback(idj.id) |
354 | 354 |
355 feedback.Info("import #%d started", idj.id) | 355 feedback.Info("import #%d started", idj.id) |
356 | 356 |
357 errDo := survive(func() error { | 357 errDo := survive(func() error { |
358 return auth.RunAs(idj.user, context.Background(), | 358 ctx := context.Background() |
359 func(conn *sql.Conn) error { return job.Do(conn, feedback) }) | 359 return auth.RunAs(idj.user, ctx, |
360 func(conn *sql.Conn) error { | |
361 return job.Do(idj.id, ctx, conn, feedback) | |
362 }) | |
360 })() | 363 })() |
361 if errDo != nil { | 364 if errDo != nil { |
362 feedback.Error("error do: %v", errDo) | 365 feedback.Error("error do: %v", errDo) |
363 } | 366 } |
364 errCleanup := survive(job.CleanUp)() | 367 errCleanup := survive(job.CleanUp)() |