This change adds a main queue alarm that triggers when the main queue has messages older than a certain age.
This is useful for monitoring the health of the queue and ensuring that messages are being processed in a timely manner.
Adds the variables:
dlq_alarm_action_arns
- The ARNs of the resources to send DLQ alarm notifications tomain_q_age_alarm_action_arns
- The ARN of the resources to send main queue age alarm notifications tomax_age_in_hours
- The maximum age of a message in the main queue before the alarm triggersenable_dlq_not_empty_alarm
- Whether to enable the DLQ not empty alarm (default:false
), overridden ifdlq_alarm_action_arns
is not emptyenable_main_q_age_alarm
- Whether to enable the main queue age alarm (default:false
), overridden ifmain_q_age_alarm_action_arns
is not empty
We deprecate the alarm_topic_arn
variable in favour of the new dlq_alarm_action_arns
and main_q_age_alarm_action_arns
variables.
Make the DLQ alarm optional by allowing a null
value for the alarm_topic_arn
variable.
Allow configuring the "cooldown period" variable in the autoscaling module. It allows us to trade off two competing concerns:
-
A shorter cooldown period means apps will scale down more quickly when they're not doing any work. This reduces wasted compute capacity and saves money.
-
A longer cooldown period means apps are less likely to scale down prematurely when they're in the middle of a task. This avoids flapping tasks if SQS queue metrics are delayed by an inactive queue.
Most applications should continue to use the default behaviour, but the longer cooldown is useful for apps with long-running tasks.
Fix a bug in the v1.2.0 module.
This removes the aws_region
variable from the queue
module, in favour of getting the region directly from the provider.
This should make it easier to create queues in other regions.
Bump for release.
This release adds the possibility to create FIFO queues.
FIFO queues are useful if you want messages to be delivered in order and exactly once.
autoscaling module:
- This release adds NumberOfMessageDeleted to SQS scale down metric.
autoscaling module:
- This release tweaks the type constraints so they don't emit a deprecation warning from Terraform. There should be no user-visible change.
If you're using the read_policy
output from the queue module, you get the sqs:ChangeMessageVisibility
IAM permission.
This is useful for non-deterministic failures: an app can receive a message, try to process it, fail, then mark it as ready for other workers to try.
This release adds an autoscaling
module, which allows you to trigger actions based on the size of a queue. This is available as
git::github.com/wellcomecollection/terraform-aws-sqs//autoscaling?ref=v1.1.0
For namespacing, the original top-level module has been moved into queue
, but otherwise has the same inputs/outputs. You can access it as follows:
git::github.com/wellcomecollection/terraform-aws-sqs//queue?ref=v1.1.0
Tidy up the README and add an example for 1.0.
Auto-formatting changes; no interface changes.
Initial release.