fix(oohelperd): enforce timeout for each measurement step (#888)
While working on https://github.com/ooni/probe/issues/2237, I noticed there's no enforced timeout for measurement tasks. So, this diff introduces the following timeouts: 1. use a 4 seconds timeout for the DNS lookup; 2. use a 10 seconds timeout for TCP; 3. use a 15 seconds timeout for HTTP. They are a bit stricter than what we have on the probe because the TH should supposedly have better bandwidth and connectivity.
This commit is contained in:
parent
d711c19b55
commit
b8cc548d41
3 changed files with 12 additions and 0 deletions
|
|
@ -7,6 +7,7 @@ package main
|
|||
import (
|
||||
"context"
|
||||
"sync"
|
||||
"time"
|
||||
|
||||
"github.com/ooni/probe-cli/v3/internal/engine/experiment/webconnectivity"
|
||||
"github.com/ooni/probe-cli/v3/internal/model"
|
||||
|
|
@ -38,6 +39,9 @@ type dnsConfig struct {
|
|||
|
||||
// dnsDo performs the DNS check.
|
||||
func dnsDo(ctx context.Context, config *dnsConfig) {
|
||||
const timeout = 4 * time.Second
|
||||
ctx, cancel := context.WithTimeout(ctx, timeout)
|
||||
defer cancel()
|
||||
defer config.Wg.Done()
|
||||
reso := config.NewResolver()
|
||||
defer reso.CloseIdleConnections()
|
||||
|
|
|
|||
Loading…
Reference in a new issue