Skip to content

Commit 3824d71

Browse files
committed
add customizable retry
Signed-off-by: Markus Blaschke <[email protected]>
1 parent 164825d commit 3824d71

File tree

3 files changed

+16
-2
lines changed

3 files changed

+16
-2
lines changed

config/opts.go

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,8 +15,11 @@ type (
1515

1616
Fenecon struct {
1717
Request struct {
18-
Timeout time.Duration `long:"fenecon.request.timeout" env:"FENECON_REQUEST_TIMEOUT" description:"Request timeout" default:"10s"`
19-
Parallel int `long:"fenecon.request.parallel" env:"FENECON_REQUEST_PARALLEL" description:"Number of parallel requests" default:"10"`
18+
Timeout time.Duration `long:"fenecon.request.timeout" env:"FENECON_REQUEST_TIMEOUT" description:"Request timeout" default:"10s"`
19+
Parallel int `long:"fenecon.request.parallel" env:"FENECON_REQUEST_PARALLEL" description:"Number of parallel requests" default:"3"`
20+
RetryCount int `long:"fenecon.request.retries" env:"FENECON_REQUEST_RETRIES" description:"Request retries" default:"1"`
21+
RetryWaitTime time.Duration `long:"fenecon.request.waittime" env:"FENECON_REQUEST_WAITTIME" description:"Request retries" default:"2s"`
22+
RetryMaxWaitTime time.Duration `long:"fenecon.request.maxwaittime" env:"FENECON_REQUEST_MAXWAITTIME" description:"Request retries" default:"5s"`
2023
}
2124

2225
Auth struct {

fenecon/prober.go

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -79,6 +79,12 @@ func (fp *FeneconProber) SetParallelRequests(val int) {
7979
fp.parallelRequests = val
8080
}
8181

82+
func (fp *FeneconProber) SetRetry(retry int, waitTime, maxWaitTime time.Duration) {
83+
fp.client.SetRetryCount(retry)
84+
fp.client.SetRetryWaitTime(waitTime)
85+
fp.client.SetRetryMaxWaitTime(maxWaitTime)
86+
}
87+
8288
func (fp *FeneconProber) SetTimeout(timeout time.Duration) {
8389
fp.client.SetTimeout(timeout)
8490
}

probe.go

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,11 @@ func newFeneconProber(ctx context.Context, registry *prometheus.Registry, logger
2222
sp.SetUserAgent(UserAgent + gitTag)
2323
sp.SetTimeout(opts.Fenecon.Request.Timeout)
2424
sp.SetParallelRequests(opts.Fenecon.Request.Parallel)
25+
sp.SetRetry(
26+
opts.Fenecon.Request.RetryCount,
27+
opts.Fenecon.Request.RetryWaitTime,
28+
opts.Fenecon.Request.RetryMaxWaitTime,
29+
)
2530
if len(opts.Fenecon.Auth.Password) >= 1 {
2631
sp.SetHttpAuth(opts.Fenecon.Auth.Username, opts.Fenecon.Auth.Password)
2732
}

0 commit comments

Comments
 (0)