Mercurial > gemma
comparison pkg/imports/gmsched.go @ 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 | 85386ad17d34 |
children |
comparison
equal
deleted
inserted
replaced
1660:f32e8a973b48 | 1661:51a0ba4ede41 |
---|---|
14 package imports | 14 package imports |
15 | 15 |
16 import ( | 16 import ( |
17 "log" | 17 "log" |
18 | 18 |
19 "gemma.intevation.de/gemma/pkg/common" | |
19 "gemma.intevation.de/gemma/pkg/scheduler" | 20 "gemma.intevation.de/gemma/pkg/scheduler" |
20 ) | 21 ) |
21 | 22 |
22 func init() { | 23 func init() { |
23 scheduler.RegisterAction("gm", scheduledGM) | 24 scheduler.RegisterAction("gm", scheduledGM) |
24 } | 25 } |
25 | 26 |
26 func scheduledGM(id int64) { | 27 func scheduledGM(id int64) { |
27 log.Println("info: scheduled GM import") | 28 log.Println("info: scheduled GM import") |
29 | |
28 cfg, err := loadIDConfig(id) | 30 cfg, err := loadIDConfig(id) |
29 if err != nil { | 31 if err != nil { |
30 log.Printf("error: %v\n", err) | 32 log.Printf("error: %v\n", err) |
31 return | 33 return |
32 } | 34 } |
33 if cfg == nil { | 35 if cfg == nil { |
34 log.Printf("warn: No config found for id %d.\n", id) | 36 log.Printf("error: No config found for id %d.\n", id) |
35 return | 37 return |
36 } | 38 } |
37 // TODO: Implement me! | 39 if cfg.URL == nil { |
40 log.Println("error: No URL specified") | |
41 return | |
42 } | |
43 gm := &GaugeMeasurement{ | |
44 URL: *cfg.URL, | |
45 Insecure: false, | |
46 } | |
47 | |
48 var serialized string | |
49 if serialized, err = common.ToJSONString(gm); err != nil { | |
50 log.Printf("error: %v\n", err) | |
51 return | |
52 } | |
53 | |
54 var jobID int64 | |
55 if jobID, err = AddJob( | |
56 GMJobKind, | |
57 cfg.User, | |
58 cfg.SendEMail, cfg.AutoAccept, | |
59 serialized, | |
60 ); err != nil { | |
61 log.Printf("error: %v\n", err) | |
62 return | |
63 } | |
64 | |
65 log.Printf("info: added import #%d to queue\n", jobID) | |
38 } | 66 } |