Mercurial > gemma
changeset 1661:51a0ba4ede41
Scheduled imports: Made gauge measurement import able to be scheduled.
author | Sascha L. Teichmann <sascha.teichmann@intevation.de> |
---|---|
date | Fri, 21 Dec 2018 14:15:33 +0100 |
parents | f32e8a973b48 |
children | d8ca44615bfc |
files | pkg/imports/gmsched.go |
diffstat | 1 files changed, 30 insertions(+), 2 deletions(-) [+] |
line wrap: on
line diff
--- a/pkg/imports/gmsched.go Fri Dec 21 13:04:46 2018 +0100 +++ b/pkg/imports/gmsched.go Fri Dec 21 14:15:33 2018 +0100 @@ -16,6 +16,7 @@ import ( "log" + "gemma.intevation.de/gemma/pkg/common" "gemma.intevation.de/gemma/pkg/scheduler" ) @@ -25,14 +26,41 @@ func scheduledGM(id int64) { log.Println("info: scheduled GM import") + cfg, err := loadIDConfig(id) if err != nil { log.Printf("error: %v\n", err) return } if cfg == nil { - log.Printf("warn: No config found for id %d.\n", id) + log.Printf("error: No config found for id %d.\n", id) + return + } + if cfg.URL == nil { + log.Println("error: No URL specified") return } - // TODO: Implement me! + gm := &GaugeMeasurement{ + URL: *cfg.URL, + Insecure: false, + } + + var serialized string + if serialized, err = common.ToJSONString(gm); err != nil { + log.Printf("error: %v\n", err) + return + } + + var jobID int64 + if jobID, err = AddJob( + GMJobKind, + cfg.User, + cfg.SendEMail, cfg.AutoAccept, + serialized, + ); err != nil { + log.Printf("error: %v\n", err) + return + } + + log.Printf("info: added import #%d to queue\n", jobID) }