Skip to content

Commit 771f2f6

Browse files
committed
Fix Go worker flag names to match other language workers
WorkerOptions.FlagSet() now takes a prefix parameter. The outer CLI passes "worker-" (so users write --worker-max-concurrent-activities), and passthrough() strips it for the subprocess. The Go worker binary passes "" so it accepts the stripped names, matching dotnet/python/ typescript/java workers.
1 parent 39e0aa0 commit 771f2f6

4 files changed

Lines changed: 13 additions & 12 deletions

File tree

cmd/cli/run_worker.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,7 @@ func (r *workerRunner) addCLIFlags(fs *pflag.FlagSet) {
5353
fs.IntVar(&r.TaskQueueIndexSuffixEnd, "task-queue-suffix-index-end", 0, "Inclusive end for task queue suffix range")
5454
fs.AddFlagSet(r.ClientOptions.FlagSet())
5555
fs.AddFlagSet(r.MetricsOptions.FlagSet("worker-"))
56-
fs.AddFlagSet(r.WorkerOptions.FlagSet())
56+
fs.AddFlagSet(r.WorkerOptions.FlagSet("worker-"))
5757
}
5858

5959
func (r *workerRunner) preRun() {

cmd/clioptions/worker.go

Lines changed: 10 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -20,19 +20,20 @@ type WorkerOptions struct {
2020
}
2121

2222
// FlagSet adds the relevant flags to populate the options struct and returns a pflag.FlagSet.
23-
func (m *WorkerOptions) FlagSet() *pflag.FlagSet {
23+
// The prefix is prepended to each flag name (e.g. "worker-" for the outer CLI, "" for worker binaries).
24+
func (m *WorkerOptions) FlagSet(prefix string) *pflag.FlagSet {
2425
if m.fs != nil {
2526
return m.fs
2627
}
2728
m.fs = pflag.NewFlagSet("worker_options", pflag.ExitOnError)
2829
m.fs.StringVar(&m.BuildID, "build-id", "", "Build ID")
29-
m.fs.IntVar(&m.MaxConcurrentActivityPollers, "worker-max-concurrent-activity-pollers", 0, "Max concurrent activity pollers")
30-
m.fs.IntVar(&m.MaxConcurrentWorkflowPollers, "worker-max-concurrent-workflow-pollers", 0, "Max concurrent workflow pollers")
31-
m.fs.IntVar(&m.MaxConcurrentActivities, "worker-max-concurrent-activities", 0, "Max concurrent activities")
32-
m.fs.IntVar(&m.MaxConcurrentWorkflowTasks, "worker-max-concurrent-workflow-tasks", 0, "Max concurrent workflow tasks")
33-
m.fs.IntVar(&m.ActivityPollerAutoscaleMax, "worker-activity-poller-autoscale-max", 0, "Max for activity poller autoscaling (overrides max-concurrent-activity-pollers")
34-
m.fs.IntVar(&m.WorkflowPollerAutoscaleMax, "worker-workflow-poller-autoscale-max", 0, "Max for workflow poller autoscaling (overrides max-concurrent-workflow-pollers")
35-
m.fs.Float64Var(&m.WorkerActivitiesPerSecond, "worker-activities-per-second", 0, "Per-worker activity rate limit")
36-
m.fs.BoolVar(&m.ErrOnUnimplemented, "worker-err-on-unimplemented", false, "Fail on unimplemented actions (currently this only applies to concurrent client actions)")
30+
m.fs.IntVar(&m.MaxConcurrentActivityPollers, prefix+"max-concurrent-activity-pollers", 0, "Max concurrent activity pollers")
31+
m.fs.IntVar(&m.MaxConcurrentWorkflowPollers, prefix+"max-concurrent-workflow-pollers", 0, "Max concurrent workflow pollers")
32+
m.fs.IntVar(&m.MaxConcurrentActivities, prefix+"max-concurrent-activities", 0, "Max concurrent activities")
33+
m.fs.IntVar(&m.MaxConcurrentWorkflowTasks, prefix+"max-concurrent-workflow-tasks", 0, "Max concurrent workflow tasks")
34+
m.fs.IntVar(&m.ActivityPollerAutoscaleMax, prefix+"activity-poller-autoscale-max", 0, "Max for activity poller autoscaling (overrides max-concurrent-activity-pollers)")
35+
m.fs.IntVar(&m.WorkflowPollerAutoscaleMax, prefix+"workflow-poller-autoscale-max", 0, "Max for workflow poller autoscaling (overrides max-concurrent-workflow-pollers)")
36+
m.fs.Float64Var(&m.WorkerActivitiesPerSecond, prefix+"activities-per-second", 0, "Per-worker activity rate limit")
37+
m.fs.BoolVar(&m.ErrOnUnimplemented, prefix+"err-on-unimplemented", false, "Fail on unimplemented actions (currently this only applies to concurrent client actions)")
3738
return m.fs
3839
}

workers/go/worker/worker.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -138,7 +138,7 @@ func Main() {
138138
cmd.Flags().AddFlagSet(app.loggingOptions.FlagSet())
139139
cmd.Flags().AddFlagSet(app.clientOptions.FlagSet())
140140
cmd.Flags().AddFlagSet(app.metricsOptions.FlagSet(""))
141-
cmd.Flags().AddFlagSet(app.workerOptions.FlagSet())
141+
cmd.Flags().AddFlagSet(app.workerOptions.FlagSet(""))
142142
cmd.Flags().StringVarP(&app.taskQueue, "task-queue", "q", "omes", "Task queue to use")
143143
cmd.Flags().IntVar(&app.taskQueueIndexSuffixStart,
144144
"task-queue-suffix-index-start", 0, "Inclusive start for task queue suffix range")

workers/run.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -131,7 +131,7 @@ func (r *Runner) Run(ctx context.Context, baseDir string) error {
131131
args = append(args, passthrough(r.ClientOptions.FlagSet(), "")...)
132132
args = append(args, passthrough(r.LoggingOptions.FlagSet(), "")...)
133133
args = append(args, passthroughExcluding(r.MetricsOptions.FlagSet("worker-"), "worker-", "process-metrics-address", "metrics-version-tag")...)
134-
args = append(args, passthrough(r.WorkerOptions.FlagSet(), "worker-")...)
134+
args = append(args, passthrough(r.WorkerOptions.FlagSet("worker-"), "worker-")...)
135135

136136
cmd, err := prog.NewCommand(context.Background(), args...)
137137
if err != nil {

0 commit comments

Comments
 (0)