Documentation ¶
Index ¶
- func FromJobSelectionPolicy(jsp model.JobSelectionPolicy) bidstrategy.SemanticBidStrategy
- func NewStorageInstalledBidStrategy(storages storage.StorageProvider) bidstrategy.SemanticBidStrategy
- type ChainedBidStrategy
- type DistanceDelayStrategy
- type DistanceDelayStrategyParams
- type ExternalCommandStrategy
- type ExternalCommandStrategyParams
- type ExternalHTTPStrategy
- type ExternalHTTPStrategyParams
- type InputLocalityStrategy
- type InputLocalityStrategyParams
- type MockSemanticBidStrategy
- type NetworkingStrategy
- type ProviderInstalledStrategy
- func NewProviderInstalledArrayStrategy[K model.ProviderKey, P model.Providable](provider model.Provider[K, P], getter func(*model.Job) []K) *ProviderInstalledStrategy[K, P]
- func NewProviderInstalledStrategy[K model.ProviderKey, P model.Providable](provider model.Provider[K, P], getter func(*model.Job) K) *ProviderInstalledStrategy[K, P]
- type StatelessJobStrategy
- type StatelessJobStrategyParams
- type TimeoutStrategy
- type TimeoutStrategyParams
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func FromJobSelectionPolicy ¶
func FromJobSelectionPolicy(jsp model.JobSelectionPolicy) bidstrategy.SemanticBidStrategy
Create a BidStrategy that implements the passed JobSelectionPolicy.
func NewStorageInstalledBidStrategy ¶
func NewStorageInstalledBidStrategy(storages storage.StorageProvider) bidstrategy.SemanticBidStrategy
Types ¶
type ChainedBidStrategy ¶
type ChainedBidStrategy struct {
Strategies []bidstrategy.SemanticBidStrategy
}
func NewChainedSemanticBidStrategy ¶
func NewChainedSemanticBidStrategy(strategies ...bidstrategy.SemanticBidStrategy) *ChainedBidStrategy
func (*ChainedBidStrategy) AddStrategy ¶
func (c *ChainedBidStrategy) AddStrategy(strategy bidstrategy.SemanticBidStrategy)
AddStrategy Add new strategy to the end of the chain
func (*ChainedBidStrategy) ShouldBid ¶
func (c *ChainedBidStrategy) ShouldBid( ctx context.Context, request bidstrategy.BidStrategyRequest) (bidstrategy.BidStrategyResponse, error)
ShouldBid Iterate over all strategies, and return shouldBid if no error is thrown and none of the strategies return should not bid.
type DistanceDelayStrategy ¶
type DistanceDelayStrategy struct {
// contains filtered or unexported fields
}
func NewDistanceDelayStrategy ¶
func NewDistanceDelayStrategy(params DistanceDelayStrategyParams) *DistanceDelayStrategy
func (DistanceDelayStrategy) ShouldBid ¶
func (s DistanceDelayStrategy) ShouldBid( ctx context.Context, request bidstrategy.BidStrategyRequest) (bidstrategy.BidStrategyResponse, error)
type DistanceDelayStrategyParams ¶
type DistanceDelayStrategyParams struct {
NetworkSize int
}
type ExternalCommandStrategy ¶
type ExternalCommandStrategy struct {
// contains filtered or unexported fields
}
func NewExternalCommandStrategy ¶
func NewExternalCommandStrategy(params ExternalCommandStrategyParams) *ExternalCommandStrategy
func (*ExternalCommandStrategy) ShouldBid ¶
func (s *ExternalCommandStrategy) ShouldBid( ctx context.Context, request bidstrategy.BidStrategyRequest) (bidstrategy.BidStrategyResponse, error)
type ExternalCommandStrategyParams ¶
type ExternalCommandStrategyParams struct {
Command string
}
type ExternalHTTPStrategy ¶
type ExternalHTTPStrategy struct {
// contains filtered or unexported fields
}
func NewExternalHTTPStrategy ¶
func NewExternalHTTPStrategy(params ExternalHTTPStrategyParams) *ExternalHTTPStrategy
func (*ExternalHTTPStrategy) ShouldBid ¶
func (s *ExternalHTTPStrategy) ShouldBid( ctx context.Context, request bidstrategy.BidStrategyRequest) (bidstrategy.BidStrategyResponse, error)
type ExternalHTTPStrategyParams ¶
type ExternalHTTPStrategyParams struct {
URL string
}
type InputLocalityStrategy ¶
type InputLocalityStrategy struct {
// contains filtered or unexported fields
}
func NewInputLocalityStrategy ¶
func NewInputLocalityStrategy(params InputLocalityStrategyParams) *InputLocalityStrategy
func (*InputLocalityStrategy) ShouldBid ¶
func (s *InputLocalityStrategy) ShouldBid( ctx context.Context, request bidstrategy.BidStrategyRequest, ) (bidstrategy.BidStrategyResponse, error)
type InputLocalityStrategyParams ¶
type InputLocalityStrategyParams struct { Locality model.JobSelectionDataLocality Executors executor.ExecutorProvider }
type MockSemanticBidStrategy ¶
func (*MockSemanticBidStrategy) ShouldBid ¶
func (m *MockSemanticBidStrategy) ShouldBid( ctx context.Context, request bidstrategy.BidStrategyRequest) (bidstrategy.BidStrategyResponse, error)
type NetworkingStrategy ¶
type NetworkingStrategy struct {
Accept bool
}
func NewNetworkingStrategy ¶
func NewNetworkingStrategy(accept bool) *NetworkingStrategy
func (*NetworkingStrategy) ShouldBid ¶
func (s *NetworkingStrategy) ShouldBid( ctx context.Context, request bidstrategy.BidStrategyRequest) (bidstrategy.BidStrategyResponse, error)
ShouldBid implements BidStrategy
type ProviderInstalledStrategy ¶
type ProviderInstalledStrategy[K model.ProviderKey, P model.Providable] struct { // contains filtered or unexported fields }
func NewProviderInstalledArrayStrategy ¶
func NewProviderInstalledArrayStrategy[K model.ProviderKey, P model.Providable]( provider model.Provider[K, P], getter func(*model.Job) []K, ) *ProviderInstalledStrategy[K, P]
func NewProviderInstalledStrategy ¶
func NewProviderInstalledStrategy[K model.ProviderKey, P model.Providable]( provider model.Provider[K, P], getter func(*model.Job) K, ) *ProviderInstalledStrategy[K, P]
func (*ProviderInstalledStrategy[K, P]) ShouldBid ¶
func (s *ProviderInstalledStrategy[K, P]) ShouldBid( ctx context.Context, request bidstrategy.BidStrategyRequest, ) (resp bidstrategy.BidStrategyResponse, err error)
type StatelessJobStrategy ¶
type StatelessJobStrategy struct {
// contains filtered or unexported fields
}
func NewStatelessJobStrategy ¶
func NewStatelessJobStrategy(params StatelessJobStrategyParams) *StatelessJobStrategy
func (*StatelessJobStrategy) ShouldBid ¶
func (s *StatelessJobStrategy) ShouldBid( ctx context.Context, request bidstrategy.BidStrategyRequest) (bidstrategy.BidStrategyResponse, error)
type StatelessJobStrategyParams ¶
type StatelessJobStrategyParams struct {
RejectStatelessJobs bool
}
type TimeoutStrategy ¶
type TimeoutStrategy struct {
// contains filtered or unexported fields
}
func NewTimeoutStrategy ¶
func NewTimeoutStrategy(params TimeoutStrategyParams) *TimeoutStrategy
func (*TimeoutStrategy) ShouldBid ¶
func (s *TimeoutStrategy) ShouldBid(_ context.Context, request bidstrategy.BidStrategyRequest) (bidstrategy.BidStrategyResponse, error)
Click to show internal directories.
Click to hide internal directories.