Browse Source

Attempt to write items to backfeed_retry set upon error.

backfeed-full-error
arkiver 1 year ago
parent
commit
2f5c6b67ff
1 changed files with 16 additions and 0 deletions
  1. +16
    -0
      main.go

+ 16
- 0
main.go View File

@@ -169,14 +169,30 @@ func (that *ProjectBackfeedManager) Do() {
}
resultMap[key] = pipe.Do(context.Background(), args...)
}
var sAddErrItems []any
if _, err := pipe.Exec(context.Background()); err != nil {
log.Printf("%s", err)
for _, items := range keyMap {
for _, item := range items {
sAddErrItems = append(sAddErrItems, item)
}
}
if err := that.ProjectRedis.SAdd(context.Background(), fmt.Sprintf("%s:backfeed_retry", that.Name), sAddErrItems...).Err(); err != nil {
log.Printf("failed to sadd failed items for %s: %s", that.Name, err)
}
continue
}
var sAddItems []any
for key, items := range keyMap {
res, err := resultMap[key].BoolSlice()
if err != nil {
log.Printf("%s", err)
for _, item := range items {
sAddErrItems = append(sAddErrItems, item)
}
if err := that.ProjectRedis.SAdd(context.Background(), fmt.Sprintf("%s:backfeed_retry", that.Name), sAddErrItems...).Err(); err != nil {
log.Printf("failed to sadd failed items for %s: %s", that.Name, err)
}
continue
}
if len(res) != len(keyMap[key]) {


Loading…
Cancel
Save