feat(alerting): working on alert notification and image rendering

This commit is contained in:
Torkel Ödegaard
2016-07-30 13:36:21 +02:00
parent f9ddfb4337
commit 2b276d5cd1
9 changed files with 128 additions and 50 deletions

View File

@@ -9,10 +9,11 @@ import (
"runtime"
"time"
"strconv"
"github.com/grafana/grafana/pkg/log"
"github.com/grafana/grafana/pkg/setting"
"github.com/grafana/grafana/pkg/util"
"strconv"
)
type RenderOpts struct {
@@ -23,8 +24,10 @@ type RenderOpts struct {
Timeout string
}
var rendererLog log.Logger = log.New("png-renderer")
func RenderToPng(params *RenderOpts) (string, error) {
log.Info("PhantomRenderer::renderToPng url %v", params.Url)
rendererLog.Info("Rendering", "url", params.Url)
var executable = "phantomjs"
if runtime.GOOS == "windows" {
@@ -71,11 +74,12 @@ func RenderToPng(params *RenderOpts) (string, error) {
select {
case <-time.After(time.Duration(timeout) * time.Second):
if err := cmd.Process.Kill(); err != nil {
log.Error(4, "failed to kill: %v", err)
rendererLog.Error("failed to kill", "error", err)
}
return "", fmt.Errorf("PhantomRenderer::renderToPng timeout (>%vs)", timeout)
case <-done:
}
rendererLog.Debug("Image rendered", "path", pngPath)
return pngPath, nil
}