191
192
if s.context.cfg.BuildIdScavengerEnabled() {
194
>
go s.startWorkflowWithRetry(ctx, build_ids.BuildIdScavengerWFStartOptions, build_ids.BuildIdScavangerWorkflowName)
195
>
196
>
buildIdsActivities := build_ids.NewActivities(
197
>
s.context.logger,
198
>
s.context.taskManager,
199
>
s.context.metadataManager,
200
>
s.context.visibilityManager,
201
>
s.context.namespaceRegistry,
202
>
s.context.matchingClient,
203
>
s.context.currentClusterName,
204
>
s.context.cfg.RemovableBuildIdDurationSinceDefault,
205
>
s.context.cfg.BuildIdScavengerVisibilityRPS,
206
>
)
207
>
208
>
work := s.context.sdkClientFactory.NewWorker(s.context.sdkClientFactory.GetSystemClient(), build_ids.BuildIdScavengerTaskQueueName, workerOpts)
209
>
work.RegisterWorkflowWithOptions(build_ids.BuildIdScavangerWorkflow, workflow.RegisterOptions{Name: build_ids.BuildIdScavangerWorkflowName})
210
>
work.RegisterActivityWithOptions(buildIdsActivities.ScavengeBuildIds, activity.RegisterOptions{Name: build_ids.BuildIdScavangerActivityName})
211
>
212
>
// TODO: Nothing is gracefully stopping these workers or listening for fatal errors.
213
>
if err := work.Start(); err != nil {
214
return err
215
}