mirror of
https://github.com/coder/coder.git
synced 2026-09-24 15:04:27 +08:00
feat: add debouncing to provisionerd rpc calls (#5198)
This commit is contained in:
@@ -7,6 +7,9 @@ import (
|
||||
"os/signal"
|
||||
"time"
|
||||
|
||||
"github.com/spf13/cobra"
|
||||
"golang.org/x/xerrors"
|
||||
|
||||
"cdr.dev/slog"
|
||||
"cdr.dev/slog/sloggers/sloghuman"
|
||||
agpl "github.com/coder/coder/cli"
|
||||
@@ -20,9 +23,6 @@ import (
|
||||
provisionerdproto "github.com/coder/coder/provisionerd/proto"
|
||||
"github.com/coder/coder/provisionersdk"
|
||||
"github.com/coder/coder/provisionersdk/proto"
|
||||
|
||||
"github.com/spf13/cobra"
|
||||
"golang.org/x/xerrors"
|
||||
)
|
||||
|
||||
func provisionerDaemons() *cobra.Command {
|
||||
@@ -37,8 +37,10 @@ func provisionerDaemons() *cobra.Command {
|
||||
|
||||
func provisionerDaemonStart() *cobra.Command {
|
||||
var (
|
||||
cacheDir string
|
||||
rawTags []string
|
||||
cacheDir string
|
||||
rawTags []string
|
||||
pollInterval time.Duration
|
||||
pollJitter time.Duration
|
||||
)
|
||||
cmd := &cobra.Command{
|
||||
Use: "start",
|
||||
@@ -111,11 +113,12 @@ func provisionerDaemonStart() *cobra.Command {
|
||||
codersdk.ProvisionerTypeTerraform,
|
||||
}, tags)
|
||||
}, &provisionerd.Options{
|
||||
Logger: logger,
|
||||
PollInterval: 500 * time.Millisecond,
|
||||
UpdateInterval: 500 * time.Millisecond,
|
||||
Provisioners: provisioners,
|
||||
WorkDirectory: tempDir,
|
||||
Logger: logger,
|
||||
JobPollInterval: pollInterval,
|
||||
JobPollJitter: pollJitter,
|
||||
UpdateInterval: 500 * time.Millisecond,
|
||||
Provisioners: provisioners,
|
||||
WorkDirectory: tempDir,
|
||||
})
|
||||
|
||||
var exitErr error
|
||||
@@ -150,6 +153,10 @@ func provisionerDaemonStart() *cobra.Command {
|
||||
"Specify a directory to cache provisioner job files.")
|
||||
cliflag.StringArrayVarP(cmd.Flags(), &rawTags, "tag", "t", "CODER_PROVISIONERD_TAGS", []string{},
|
||||
"Specify a list of tags to target provisioner jobs.")
|
||||
cliflag.DurationVarP(cmd.Flags(), &pollInterval, "poll-interval", "", "CODER_PROVISIONERD_POLL_INTERVAL", time.Second,
|
||||
"Specify the interval for which the provisioner daemon should poll for jobs.")
|
||||
cliflag.DurationVarP(cmd.Flags(), &pollJitter, "poll-jitter", "", "CODER_PROVISIONERD_POLL_JITTER", 100*time.Millisecond,
|
||||
"Random jitter added to the poll interval.")
|
||||
|
||||
return cmd
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user