Fix marshaling, force tick on start
This commit is contained in:
+1
-1
@@ -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)
|
||||||
|
|||||||
@@ -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 {
|
||||||
|
|||||||
Reference in New Issue
Block a user