aboutsummaryrefslogtreecommitdiffstats
path: root/client/go/internal/cli
diff options
context:
space:
mode:
authorMartin Polden <mpolden@mpolden.no>2023-03-29 17:22:35 +0100
committerMartin Polden <mpolden@mpolden.no>2023-03-29 17:22:35 +0100
commit95dbd20b3dc32e3512f9941245b91bbc3f6ad5ac (patch)
tree740876570aedf1879b8c4f26891bd3b510b56389 /client/go/internal/cli
parent70211538e30cd49226d09d4e65ba17ff40ec2432 (diff)
Reapply "Add throttling to vespa feed"
This reverts commit f9f0cdad3c6721d06a7833be07d6280c68347263.
Diffstat (limited to 'client/go/internal/cli')
-rw-r--r--client/go/internal/cli/cmd/feed.go8
1 files changed, 6 insertions, 2 deletions
diff --git a/client/go/internal/cli/cmd/feed.go b/client/go/internal/cli/cmd/feed.go
index f273c5aa826..c8e032929b8 100644
--- a/client/go/internal/cli/cmd/feed.go
+++ b/client/go/internal/cli/cmd/feed.go
@@ -13,6 +13,7 @@ import (
)
func addFeedFlags(cmd *cobra.Command, concurrency *int) {
+ // TOOD(mpolden): Remove this flag
cmd.PersistentFlags().IntVarP(concurrency, "concurrency", "T", 64, "Number of goroutines to use for dispatching")
}
@@ -58,7 +59,10 @@ func feed(r io.Reader, cli *CLI, concurrency int) error {
client := document.NewClient(document.ClientOptions{
BaseURL: service.BaseURL,
}, service)
- dispatcher := document.NewDispatcher(client, concurrency)
+ throttler := document.NewThrottler()
+ // TODO(mpolden): Make doom duration configurable
+ circuitBreaker := document.NewCircuitBreaker(10*time.Second, 0)
+ dispatcher := document.NewDispatcher(client, throttler, circuitBreaker)
dec := document.NewDecoder(r)
start := cli.now()
@@ -78,7 +82,7 @@ func feed(r io.Reader, cli *CLI, concurrency int) error {
return err
}
elapsed := cli.now().Sub(start)
- return writeSummaryJSON(cli.Stdout, client.Stats(), elapsed)
+ return writeSummaryJSON(cli.Stdout, dispatcher.Stats(), elapsed)
}
type number float32