Mercurial > gemma
view 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 |
line wrap: on
line source
// This is Free Software under GNU Affero General Public License v >= 3.0 // without warranty, see README.md and license for details. // // SPDX-License-Identifier: AGPL-3.0-or-later // License-Filename: LICENSES/AGPL-3.0.txt // // Copyright (C) 2018 by via donau // – Österreichische Wasserstraßen-Gesellschaft mbH // Software engineering by Intevation GmbH // // Author(s): // * Sascha L. Teichmann <sascha.teichmann@intevation.de> package imports import ( "log" "gemma.intevation.de/gemma/pkg/common" "gemma.intevation.de/gemma/pkg/scheduler" ) func init() { scheduler.RegisterAction("gm", scheduledGM) } 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("error: No config found for id %d.\n", id) return } if cfg.URL == nil { log.Println("error: No URL specified") return } 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) }