mirror of
https://github.com/muety/wakapi.git
synced 2023-08-10 21:12:56 +03:00
fix: import bug with small number of heartbeats (fix #160)
This commit is contained in:
parent
2b57da224c
commit
7f3a654b26
@ -419,19 +419,26 @@ func (h *SettingsHandler) actionImportWaktime(w http.ResponseWriter, r *http.Req
|
|||||||
count := 0
|
count := 0
|
||||||
batch := make([]*models.Heartbeat, 0)
|
batch := make([]*models.Heartbeat, 0)
|
||||||
|
|
||||||
|
insert := func(batch []*models.Heartbeat) {
|
||||||
|
if err := h.heartbeatSrvc.InsertBatch(batch); err != nil {
|
||||||
|
logbuch.Warn("failed to insert imported heartbeat, already existing? – %v", err)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
for hb := range stream {
|
for hb := range stream {
|
||||||
count++
|
count++
|
||||||
batch = append(batch, hb)
|
batch = append(batch, hb)
|
||||||
|
|
||||||
if len(batch) == h.config.App.ImportBatchSize {
|
if len(batch) == h.config.App.ImportBatchSize {
|
||||||
if err := h.heartbeatSrvc.InsertBatch(batch); err != nil {
|
insert(batch)
|
||||||
logbuch.Warn("failed to insert imported heartbeat, already existing? – %v", err)
|
|
||||||
}
|
|
||||||
|
|
||||||
batch = make([]*models.Heartbeat, 0)
|
batch = make([]*models.Heartbeat, 0)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if len(batch) > 0 {
|
||||||
|
insert(batch)
|
||||||
|
}
|
||||||
|
|
||||||
countAfter, _ := h.heartbeatSrvc.CountByUser(user)
|
countAfter, _ := h.heartbeatSrvc.CountByUser(user)
|
||||||
logbuch.Info("downloaded %d heartbeats for user '%s' (%d actually imported)", count, user.ID, countAfter-countBefore)
|
logbuch.Info("downloaded %d heartbeats for user '%s' (%d actually imported)", count, user.ID, countAfter-countBefore)
|
||||||
|
|
||||||
|
@ -76,7 +76,7 @@ func (w *WakatimeHeartbeatImporter) Import(user *models.User, minFrom time.Time,
|
|||||||
d := day.Format(config.SimpleDateFormat)
|
d := day.Format(config.SimpleDateFormat)
|
||||||
heartbeats, err := w.fetchHeartbeats(d)
|
heartbeats, err := w.fetchHeartbeats(d)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
logbuch.Error("failed to fetch heartbeats for day '%s' and user '%s' – &v", day, user.ID, err)
|
logbuch.Error("failed to fetch heartbeats for day '%s' and user '%s' – &v", d, user.ID, err)
|
||||||
}
|
}
|
||||||
|
|
||||||
for _, h := range heartbeats {
|
for _, h := range heartbeats {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user