touch up redeliver loop
This commit is contained in:
parent
73fb03845b
commit
2518c4be4a
|
@ -47,8 +47,8 @@ func sayitagain(goarounds int64, userid int64, rcpt string, msg []byte) {
|
|||
return
|
||||
}
|
||||
drift += time.Duration(notrand.Int63n(int64(drift / 10)))
|
||||
when := time.Now().UTC().Add(drift)
|
||||
_, err := stmtAddDoover.Exec(when.Format(dbtimeformat), goarounds, userid, rcpt, msg)
|
||||
when := time.Now().Add(drift)
|
||||
_, err := stmtAddDoover.Exec(when.UTC().Format(dbtimeformat), goarounds, userid, rcpt, msg)
|
||||
if err != nil {
|
||||
elog.Printf("error saving doover: %s", err)
|
||||
}
|
||||
|
@ -131,7 +131,7 @@ func getdoovers() []Doover {
|
|||
}
|
||||
|
||||
func redeliverator() {
|
||||
sleeper := time.NewTimer(0)
|
||||
sleeper := time.NewTimer(5 * time.Second)
|
||||
for {
|
||||
select {
|
||||
case <-pokechan:
|
||||
|
@ -144,7 +144,7 @@ func redeliverator() {
|
|||
|
||||
doovers := getdoovers()
|
||||
|
||||
now := time.Now().UTC()
|
||||
now := time.Now()
|
||||
nexttime := now.Add(24 * time.Hour)
|
||||
for _, d := range doovers {
|
||||
if d.When.Before(now) {
|
||||
|
@ -168,7 +168,11 @@ func redeliverator() {
|
|||
nexttime = d.When
|
||||
}
|
||||
}
|
||||
dur := nexttime.Sub(now).Round(time.Second) + 5*time.Second
|
||||
now = time.Now()
|
||||
dur := 5 * time.Second
|
||||
if now.Before(nexttime) {
|
||||
dur += nexttime.Sub(now).Round(time.Second)
|
||||
}
|
||||
sleeper.Reset(dur)
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue