Skip to content

Commit

Permalink
Fix isActive function
Browse files Browse the repository at this point in the history
Signed-off-by: Tomek Urbaszek <tomasz.urbaszek@polidea.com>
  • Loading branch information
turbaszek committed Aug 25, 2020
1 parent 7ecf151 commit 29f1d0a
Show file tree
Hide file tree
Showing 3 changed files with 6 additions and 10 deletions.
12 changes: 4 additions & 8 deletions pkg/scalers/http_scaler.go → pkg/scalers/metrics_api_scaler.go
Original file line number Diff line number Diff line change
Expand Up @@ -72,11 +72,6 @@ func parseHTTPMetadata(resolvedEnv, metadata, authParams map[string]string) (*ht
return &meta, nil
}

func (s *httpScaler) checkHealth() error {
u := fmt.Sprintf("%s/health/", s.metadata.apiURL)
_, err := http.Get(u)
return err
}

func (s *httpScaler) getMetricInfo() (*metric, error) {
var m *metric
Expand Down Expand Up @@ -104,18 +99,19 @@ func (s *httpScaler) Close() error {

// IsActive returns true if there are pending messages to be processed
func (s *httpScaler) IsActive(ctx context.Context) (bool, error) {
err := s.checkHealth()
m, err := s.getMetricInfo()
if err != nil {
httpLog.Error(err, fmt.Sprintf("Error when checking API health: %s", err))
return false, err
}
return true, nil

return m.Value > 0.0, nil
}

// GetMetricSpecForScaling returns the MetricSpec for the Horizontal Pod Autoscaler
func (s *httpScaler) GetMetricSpecForScaling() []v2beta2.MetricSpec {
targetValue := resource.NewQuantity(int64(s.metadata.targetValue), resource.DecimalSI)
metricName := fmt.Sprintf("%s-%s", "http", kedautil.NormalizeString(s.metadata.apiURL), s.metadata.metricName)
metricName := fmt.Sprintf("%s-%s-%s", "http", kedautil.NormalizeString(s.metadata.apiURL), s.metadata.metricName)
externalMetric := &v2beta2.ExternalMetricSource{
Metric: v2beta2.MetricIdentifier{
Name: metricName,
Expand Down
File renamed without changes.
4 changes: 2 additions & 2 deletions pkg/scaling/scale_handler.go
Original file line number Diff line number Diff line change
Expand Up @@ -396,6 +396,8 @@ func buildScaler(name, namespace, triggerType string, resolvedEnv, triggerMetada
return scalers.NewKafkaScaler(resolvedEnv, triggerMetadata, authParams)
case "liiklus":
return scalers.NewLiiklusScaler(resolvedEnv, triggerMetadata)
case "metrics-api":
return scalers.NewHTTPScaler(resolvedEnv, triggerMetadata, authParams)
case "mysql":
return scalers.NewMySQLScaler(resolvedEnv, triggerMetadata, authParams)
case "postgresql":
Expand All @@ -410,8 +412,6 @@ func buildScaler(name, namespace, triggerType string, resolvedEnv, triggerMetada
return scalers.NewRedisStreamsScaler(resolvedEnv, triggerMetadata, authParams)
case "stan":
return scalers.NewStanScaler(resolvedEnv, triggerMetadata)
case "external-metric-source":
return scalers.NewHTTPScaler(resolvedEnv, triggerMetadata, authParams)
default:
return nil, fmt.Errorf("no scaler found for type: %s", triggerType)
}
Expand Down

0 comments on commit 29f1d0a

Please sign in to comment.