Skip to content

Commit

Permalink
Add AWS SQS scaler.
Browse files Browse the repository at this point in the history
  • Loading branch information
zach-dunton-sf committed May 13, 2019
1 parent 4438855 commit 07b99d2
Show file tree
Hide file tree
Showing 4 changed files with 62 additions and 7 deletions.
50 changes: 50 additions & 0 deletions Gopkg.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

4 changes: 4 additions & 0 deletions Gopkg.toml
Original file line number Diff line number Diff line change
Expand Up @@ -86,3 +86,7 @@
version = "0.2.0"



[[constraint]]
name = "github.com/aws/aws-sdk-go"
version = "1.19.27"
2 changes: 1 addition & 1 deletion pkg/scalers/aws_sqs_queue.go
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ func GetAwsSqsQueueLength(ctx context.Context, queueURL string) (int32, error) {
sqsClient := sqs.New(sess)

if len(queueURL) == 0 {
return -1, errors.New("Empty queueUrl is not valid")
return -1, errors.New("empty queueURL is not valid")
}

input := &sqs.GetQueueAttributesInput{
Expand Down
13 changes: 7 additions & 6 deletions pkg/scalers/aws_sqs_queue_scaler.go
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ type awsSqsQueueMetadata struct {
func NewAwsSqsQueueScaler(resolvedEnv, metadata map[string]string) (Scaler, error) {
meta, err := parseAwsSqsQueueMetadata(metadata, resolvedEnv)
if err != nil {
return nil, fmt.Errorf("error parsing SQS queue metadata: %s", err)
return nil, fmt.Errorf("Error parsing SQS queue metadata: %s", err)
}

return &awsSqsQueueScaler{
Expand All @@ -52,10 +52,11 @@ func parseAwsSqsQueueMetadata(metadata, resolvedEnv map[string]string) (*awsSqsQ
}
}

if val, ok := metadata["queueName"]; ok {
if val, ok := metadata["queueURL"]; ok {
queueURL := val
if len(val) > 0 {
log.Errorf("Error parsing SQS queue metadata %s: %s", "queueName", errors.New("Empty queueName is not valid"))

if len(val) <= 0 {
log.Errorf("Error parsing SQS queue metadata %s: %s", "queueURL", errors.New("Empty queueURL is not valid"))
} else {
meta.queueURL = queueURL
}
Expand All @@ -69,7 +70,7 @@ func (s *awsSqsQueueScaler) IsActive(ctx context.Context) (bool, error) {
length, err := GetAwsSqsQueueLength(ctx, s.metadata.queueURL)

if err != nil {
log.Errorf("error %s", err)
log.Errorf("Error %s", err)
return false, err
}

Expand All @@ -92,7 +93,7 @@ func (s *awsSqsQueueScaler) GetMetrics(ctx context.Context, metricName string, m
queuelen, err := GetAwsSqsQueueLength(ctx, s.metadata.queueURL)

if err != nil {
log.Errorf("error getting queue length %s", err)
log.Errorf("Error getting queue length %s", err)
return []external_metrics.ExternalMetricValue{}, err
}

Expand Down

0 comments on commit 07b99d2

Please sign in to comment.