in src/ec2_scale/index.py [0:0]
def handler(event, _):
sqs_name = os.getenv('SQSINPUTNAME')
autoscaling_group = os.getenv('AUTOSCALINGGROUP')
#get number of messages in queue
sqs_url = sqs.get_queue_url(QueueName=sqs_name)
response = sqs.get_queue_attributes(
QueueUrl=sqs_url['QueueUrl'],
AttributeNames=[
'ApproximateNumberOfMessages',
]
)
answer = int(response['Attributes']['ApproximateNumberOfMessages'])
print(answer)
if answer <= 0:
response = new_capacity(autoscaling_group, answer)
return response
else:
maxsize = auto.describe_auto_scaling_groups(
AutoScalingGroupNames=[
autoscaling_group],
MaxRecords=1
)
maxsize = maxsize['AutoScalingGroups'][0]['MaxSize']
if answer <= maxsize:
response = new_capacity(autoscaling_group, answer)
return response
else:
response = new_capacity(autoscaling_group, maxsize)
return response
return response