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 {