From ffe1b892b4c01c40215a1b8b5697fc35b81186b5 Mon Sep 17 00:00:00 2001 From: Horus3 Date: Fri, 20 Feb 2015 16:49:27 +0100 Subject: Add caching struct as json in redis. --- app/fetch.go | 25 +++++++++++++++++++++++-- 1 file changed, 23 insertions(+), 2 deletions(-) (limited to 'app/fetch.go') diff --git a/app/fetch.go b/app/fetch.go index a03504e..82bbb7d 100644 --- a/app/fetch.go +++ b/app/fetch.go @@ -1,13 +1,15 @@ package main import ( + "encoding/json" "fmt" // "time" + "log" ) func run() { c := c - c.AddFunc("@every 30s", healthCheck) + c.AddFunc("@every 10s", healthCheck) c.Start() jobs := c.Entries() @@ -16,12 +18,31 @@ func run() { } } +const ( + cache_prefix = "status_" +) + func healthCheck() { h := []Host{} db := Db db.Find(&h) - for _, v := range h { + c := pool.Get() + defer c.Close() + + for k, v := range h { + // save struct in redis as serialized json + // TODO + j, err := json.Marshal(v) + if err != nil { + log.Println("Error: ", err) + continue + } + + c.Do("SET", cache_prefix+string(k), j) + + fmt.Println("Json: ", j) + fmt.Printf("Id: %v, Url: %v \n", v.Id, v.Url) if resp, _, err := HttpGet(v.Url); err != nil { -- cgit v1.2.3