Slow down polling. Throttle on "internal server error".

This commit is contained in:
Greg Pomerantz 2024-11-21 09:43:01 -05:00
parent 9654c6c3f3
commit 43cd0c4308
3 changed files with 6 additions and 4 deletions

2
go.mod
View File

@ -2,4 +2,4 @@ module git.wow.st/gmp/goget
go 1.23.0 go 1.23.0
require git.wow.st/gmp/ohlc v0.0.0-20241115023606-83f41a06596c // indirect require git.wow.st/gmp/ohlc v0.0.0-20241115230120-714064615eb3 // indirect

2
go.sum
View File

@ -1,2 +1,4 @@
git.wow.st/gmp/ohlc v0.0.0-20241115023606-83f41a06596c h1:etBdVfh2E4k00IzRBMuHsGm5HZg7S96JBZQpCGWshNE= git.wow.st/gmp/ohlc v0.0.0-20241115023606-83f41a06596c h1:etBdVfh2E4k00IzRBMuHsGm5HZg7S96JBZQpCGWshNE=
git.wow.st/gmp/ohlc v0.0.0-20241115023606-83f41a06596c/go.mod h1:QSSqMCu9AFoYtfqA9Hbfpxy3mp5MT/d4fk0AzYnuoo8= git.wow.st/gmp/ohlc v0.0.0-20241115023606-83f41a06596c/go.mod h1:QSSqMCu9AFoYtfqA9Hbfpxy3mp5MT/d4fk0AzYnuoo8=
git.wow.st/gmp/ohlc v0.0.0-20241115230120-714064615eb3 h1:HDrgOSn1k2EzP0XIZbToUvwW3GXmZSnddq+/Zv2R4Mc=
git.wow.st/gmp/ohlc v0.0.0-20241115230120-714064615eb3/go.mod h1:QSSqMCu9AFoYtfqA9Hbfpxy3mp5MT/d4fk0AzYnuoo8=

View File

@ -12,12 +12,12 @@ import (
var ( var (
retries = 5 retries = 5
concurrency = 30 concurrency = 1
ch chan string ch chan string
clk chan bool clk chan bool
wg sync.WaitGroup wg sync.WaitGroup
freq = time.Second / 30 freq = time.Second * 15
throttle bool throttle bool
errs map[string]int errs map[string]int
mu sync.Mutex mu sync.Mutex
@ -37,7 +37,7 @@ func get_(symbol string) (error) {
return err return err
} }
switch resp.StatusCode { switch resp.StatusCode {
case 401, 429: case 401, 429, 500:
throttle = true throttle = true
return fmt.Errorf("%s", resp.Status) return fmt.Errorf("%s", resp.Status)
err_(symbol,0) // do not limit retries err_(symbol,0) // do not limit retries