Fix marshaling, force tick on start

This commit is contained in:
Audrius Butkevicius
2020-06-20 22:14:10 +01:00
parent 3f703ff237
commit b48c10052c
2 changed files with 5 additions and 3 deletions
+1 -1
View File
@@ -304,7 +304,7 @@ const maxCacheTime = 15 * time.Minute
func cacheRefresher(db *sql.DB) { func cacheRefresher(db *sql.DB) {
ticker := time.NewTicker(maxCacheTime - time.Minute) ticker := time.NewTicker(maxCacheTime - time.Minute)
defer ticker.Stop() defer ticker.Stop()
for range ticker.C { for ; true; <-ticker.C {
cacheMut.Lock() cacheMut.Lock()
if err := refreshCacheLocked(db); err != nil { if err := refreshCacheLocked(db); err != nil {
log.Println(err) log.Println(err)
+4 -2
View File
@@ -42,7 +42,7 @@ func (p *IntMap) Scan(src interface{}) error {
type Report struct { type Report struct {
// Generated // Generated
Received time.Time // Only from DB Received time.Time `json:"-"` // Only from DB
Date string `json:"date,omitempty"` Date string `json:"date,omitempty"`
Address string `json:"address,omitempty"` Address string `json:"address,omitempty"`
@@ -410,7 +410,9 @@ func (r *Report) FieldNames() []string {
} }
func (r Report) Value() (driver.Value, error) { func (r Report) Value() (driver.Value, error) {
return json.Marshal(r) // This needs to be string, yet we read back bytes..
bs, err := json.Marshal(r)
return string(bs), err
} }
func (r *Report) Scan(value interface{}) error { func (r *Report) Scan(value interface{}) error {