diff --git a/broker/ntgvision.go b/broker/ntgvision.go index 916cd80..e9a0538 100644 --- a/broker/ntgvision.go +++ b/broker/ntgvision.go @@ -61,7 +61,7 @@ func (ji ntgVisionJobInfo) String() string { return out } return fmt.Sprintf( - "%s Pickup:{Hours:%s Notes:%s, DropTrailer:%s} Dropoff:{Appointment:%s Notes:%s}", + "%s Pickup:{Hours:%s Notes:%s, DropTrailer:%v} Dropoff:{Appointment:%s Notes:%s}", out, ji.StopsInfo[0].StopHours, ji.StopsInfo[0].Instructions, @@ -78,6 +78,12 @@ func (ntgJob *ntgVisionJob) JobInfo() (ntgVisionJobInfo, error) { if !ntgJob.jobinfo.IsZero() { return ntgJob.jobinfo, nil } + db := config.Get().DB() + key := fmt.Sprintf("ntg_job_info_%v", ntgJob.ID) + if b, err := db.Get(key); err != nil { + } else if err := json.Unmarshal(b, &ntgJob.jobinfo); err == nil { + return ntgJob.jobinfo, nil + } ji, err := ntgJob.jobInfo() if err == ErrNoAuth { if err := NewNTGVision().refreshAuth(); err != nil { @@ -85,7 +91,13 @@ func (ntgJob *ntgVisionJob) JobInfo() (ntgVisionJobInfo, error) { } ji, err = ntgJob.jobInfo() } - ntgJob.jobinfo = ji + if err == nil { + ntgJob.jobinfo = ji + b, err := json.Marshal(ntgJob.jobinfo) + if err == nil { + db.Set(key, b) + } + } return ji, err }