Documentation
¶
Overview ¶
Package wci contains the implementation for the worker controller instances
Index ¶
- Constants
- Variables
- func PerNamespaceWorkerManagerProvider(logger log.Logger, sdkClientFactory sdk.ClientFactory, ...) *worker.PerNamespaceWorkerManager
- func ServiceLifetimeHooks(lc fx.Lifecycle, svc *Service)
- func ServiceResolverProvider(membershipMonitor membership.Monitor) (membership.ServiceResolver, error)
- func ThrottledLoggerRpsFnProvider(serviceConfig *worker.Config) resource.ThrottledLoggerRpsFn
- func WorkerConfigProvider(config *Config) *worker.Config
- type Config
- type Service
Constants ¶
View Source
const ( ServiceName primitives.ServiceName = "worker-controller-workers" // ServiceType is the number identification for the service in the DB // this needs to be distinct from the values already defined in the // persisttence package, so jumping a bit up to 10. ServiceType persistence.ServiceType = 10 )
Variables ¶
View Source
var Module = fx.Options( serialization.Module, temporal.ServiceTracingModule, dynamicconfig.Module, pprof.Module, resource.DefaultOptions, fx.Provide(resource.HostNameProvider), fx.Provide(ThrottledLoggerRpsFnProvider), membership.GRPCResolverModule, fx.Provide(persistenceClient.ClusterNameProvider), fx.Provide(persistenceClient.HealthSignalAggregatorProvider), fx.Provide(persistenceClient.EnableDataLossMetricsProvider), fx.Provide(newMetadataManager, newClusterMetadataManager), fx.Provide(resource.ClientFactoryProvider), fx.Provide(namespace.NewDefaultReplicationResolverFactory), fx.Provide(resource.NamespaceRegistryProvider), fx.Provide(func() namespace.NamespaceStateChangedFn { return nsregistry.DefaultNamespaceStateChanged }), nsregistry.RegistryLifetimeHooksModule, cluster.MetadataLifetimeHooksModule, fx.Provide(ConfigProvider), fx.Provide(WorkerConfigProvider), fx.Provide(ServiceResolverProvider), fx.Provide(NewService), fx.Provide(PerNamespaceWorkerManagerProvider), fx.Provide(func() computeprovider.GCPImpersonationChainProvider { return computeprovider.NoopGCPImpersonationChainProvider{} }), fx.Invoke(func(p computeprovider.GCPImpersonationChainProvider) { computeprovider.SetGCPImpersonationChainProvider(p) }), fx.Invoke(ServiceLifetimeHooks), )
Functions ¶
func PerNamespaceWorkerManagerProvider ¶
func PerNamespaceWorkerManagerProvider( logger log.Logger, sdkClientFactory sdk.ClientFactory, namespaceRegistry namespace.Registry, hostName resource.HostName, config *worker.Config, clusterMetadata cluster.Metadata, dynamicConfig *dynamicconfig.Collection, ) *worker.PerNamespaceWorkerManager
func ServiceLifetimeHooks ¶
func ServiceResolverProvider ¶
func ServiceResolverProvider( membershipMonitor membership.Monitor, ) (membership.ServiceResolver, error)
func ThrottledLoggerRpsFnProvider ¶
func ThrottledLoggerRpsFnProvider(serviceConfig *worker.Config) resource.ThrottledLoggerRpsFn
func WorkerConfigProvider ¶
Types ¶
type Config ¶
type Config struct {
worker.Config
PerNamespaceMaxWorkerControllerInstances dynamicconfig.TypedPropertyFnWithNamespaceFilter[int]
PerNamespaceWorkerControllerInstanceWorkflowVersion dynamicconfig.TypedPropertyFnWithNamespaceFilter[int]
}
Config contains all the service config for worker
func ConfigProvider ¶
func ConfigProvider( dc *dynamicconfig.Collection, persistenceConfig *config.Persistence, ) *Config
func NewConfig ¶
func NewConfig( dc *dynamicconfig.Collection, persistenceConfig *config.Persistence, ) *Config
NewConfig builds the new Config for worker service
type Service ¶
type Service struct {
// contains filtered or unexported fields
}
func NewService ¶
func NewService( logger log.SnTaggedLogger, serviceConfig *Config, sdkClientFactory sdk.ClientFactory, clusterMetadata cluster.Metadata, namespaceRegistry namespace.Registry, membershipMonitor membership.Monitor, hostInfoProvider membership.HostInfoProvider, metricsHandler metrics.Handler, metadataManager persistence.MetadataManager, perNamespaceWorkerManager *worker.PerNamespaceWorkerManager, ) (*Service, error)
Directories
¶
| Path | Synopsis |
|---|---|
|
Package client contains the client to interact with Worker Controller Instance workflows
|
Package client contains the client to interact with Worker Controller Instance workflows |
|
Package workflow contains the actual workflow of a worker controller instance
|
Package workflow contains the actual workflow of a worker controller instance |
|
compute_provider
Package computeprovider contains the implementations of the various compute providers
|
Package computeprovider contains the implementations of the various compute providers |
|
iface
Package iface contains the interface definitions to interact with the WCI workflows these are internal to the project.
|
Package iface contains the interface definitions to interact with the WCI workflows these are internal to the project. |
|
scaling_algorithm
Package scalingalgorithm contains the different scaling algorithms available for WCIs
|
Package scalingalgorithm contains the different scaling algorithms available for WCIs |
Click to show internal directories.
Click to hide internal directories.