Mercurial > gemma
comparison pkg/imports/queue.go @ 1000:14425e35e3c2 persistent-import-queue
Wait with start of import queue until configuration is fully loaded.
author | Sascha L. Teichmann <sascha.teichmann@intevation.de> |
---|---|
date | Mon, 22 Oct 2018 17:16:02 +0200 |
parents | 75e65599ea52 |
children | d789f19877f4 |
comparison
equal
deleted
inserted
replaced
999:60ca5bd3e326 | 1000:14425e35e3c2 |
---|---|
7 "log" | 7 "log" |
8 "runtime/debug" | 8 "runtime/debug" |
9 "sync" | 9 "sync" |
10 | 10 |
11 "gemma.intevation.de/gemma/pkg/auth" | 11 "gemma.intevation.de/gemma/pkg/auth" |
12 "gemma.intevation.de/gemma/pkg/config" | |
12 ) | 13 ) |
13 | 14 |
14 type ( | 15 type ( |
15 Feedback interface { | 16 Feedback interface { |
16 Info(fmt string, args ...interface{}) | 17 Info(fmt string, args ...interface{}) |
217 }) | 218 }) |
218 return err | 219 return err |
219 } | 220 } |
220 | 221 |
221 func importLoop() { | 222 func importLoop() { |
223 config.WaitReady() | |
222 for { | 224 for { |
223 queueCond.L.Lock() | 225 queueCond.L.Lock() |
224 | 226 |
225 var idj *idJob | 227 var idj *idJob |
226 var err error | 228 var err error |
257 func(conn *sql.Conn) error { return job.Do(conn, feedback) }) | 259 func(conn *sql.Conn) error { return job.Do(conn, feedback) }) |
258 })() | 260 })() |
259 if errDo != nil { | 261 if errDo != nil { |
260 feedback.Error("error do: %v\n", errDo) | 262 feedback.Error("error do: %v\n", errDo) |
261 } | 263 } |
262 errCleanup := survive(job.CleanUp) | 264 errCleanup := survive(job.CleanUp)() |
263 if errCleanup != nil { | 265 if errCleanup != nil { |
264 feedback.Error("error cleanup: %v\n", errCleanup) | 266 feedback.Error("error cleanup: %v\n", errCleanup) |
265 } | 267 } |
266 | 268 |
267 if errDo != nil || errCleanup != nil { | 269 if errDo != nil || errCleanup != nil { |