Skip to main content

A Python script to monitor and list Amazon SQS queues with messages, featuring real-time updates and AWS console links.

Project description

SQS List Filled Queues

A Python script that lists Amazon SQS queues containing messages and updates the display periodically. This tool leverages the boto3 library to interact with AWS SQS, making it easy to monitor your message queues.

Features

  • Lists all SQS queues with at least one message.
  • Displays the number of messages in each queue.
  • Optionally includes messages in flight (being processed) in the count.
  • Filters queues by name using regex patterns.
  • Provides direct links to the AWS SQS console for each queue.
  • Supports periodic updates to refresh the displayed information.
  • Configurable number of worker threads for fetching queue information.
  • Exits with error code 1 when messages are found (useful for monitoring/alerting).

Prerequisites

  • Python 3.x
  • AWS credentials configured (via environment variables, AWS config file, or IAM roles).

Usage

You can run the script directly from the command line. Here are some usage examples:

  • To list queues and display results once:

    sqs-list-filled-queues

  • To include messages in flight (being processed):

    sqs-list-filled-queues --include-in-flight

  • To watch the queues and refresh every 60 seconds:

    sqs-list-filled-queues --watch

  • To specify a custom refresh interval (e.g., 30 seconds):

    sqs-list-filled-queues --watch 30

  • To adjust the number of worker threads (e.g., 8):

    sqs-list-filled-queues --workers 8

  • To filter queues by name pattern (case-insensitive regex):

    sqs-list-filled-queues --pattern "prod" sqs-list-filled-queues --pattern "^test-" sqs-list-filled-queues --pattern "queue$"

  • To combine options (watch with in-flight messages and pattern filtering):

    sqs-list-filled-queues --watch 30 --include-in-flight --pattern "production"

Exit Codes

  • 0: No messages found in any queue
  • 1: At least one message found in one or more queues (useful for monitoring/alerting)

Controls During Watching

  • Press R to force a refresh.
  • Press Q to quit the program.

Pattern Filtering

The --pattern option allows you to filter queues by name using regular expressions. The pattern is applied to the queue name only (not the full URL) and is case-insensitive.

Examples:

  • --pattern "test" - matches queues containing "test" anywhere in the name
  • --pattern "^prod-" - matches queues starting with "prod-"
  • --pattern "queue$" - matches queues ending with "queue"
  • --pattern "(dev|test|staging)" - matches queues containing "dev", "test", or "staging"

Example Output

Without in-flight messages

Reading list of queues...Processed 5 out of 10 queues...
QueueName1: 12 msgs
    https://console.aws.amazon.com/sqs/v2/home?region=us-west-2#/queues/QueueName1
QueueName2: 5 msgs
    https://console.aws.amazon.com/sqs/v2/home?region=us-west-2#/queues/QueueName2

With in-flight messages (--include-in-flight)

Reading list of queues...Processed 5 out of 10 queues...
QueueName1: 12 msgs, 3 in-flight, 15 total
    https://console.aws.amazon.com/sqs/v2/home?region=us-west-2#/queues/QueueName1
QueueName2:  5 msgs, 0 in-flight,  5 total
    https://console.aws.amazon.com/sqs/v2/home?region=us-west-2#/queues/QueueName2

With pattern filtering (--pattern "prod")

Reading list of queues...Filtered 10 queues to 3 matching pattern 'prod'
Processed 3 out of 3 queues...
production-queue: 25 msgs
    https://console.aws.amazon.com/sqs/v2/home?region=us-west-2#/queues/production-queue
user-actions-prod:  8 msgs
    https://console.aws.amazon.com/sqs/v2/home?region=us-west-2#/queues/user-actions-prod

License

This project is licensed under the MIT License - see the LICENSE file for details.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

sqs_list_filled_queues-0.3.tar.gz (5.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

sqs_list_filled_queues-0.3-py3-none-any.whl (6.3 kB view details)

Uploaded Python 3

File details

Details for the file sqs_list_filled_queues-0.3.tar.gz.

File metadata

  • Download URL: sqs_list_filled_queues-0.3.tar.gz
  • Upload date:
  • Size: 5.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.5

File hashes

Hashes for sqs_list_filled_queues-0.3.tar.gz
Algorithm Hash digest
SHA256 06d999e9132c027e18131c9da8c8a0161b2d160946b7de27301a4f0918a3e8ea
MD5 8a47d22bbb8c22549aae32ce72b63c02
BLAKE2b-256 72b778e529c41d39d46579605422c4b0402840de322c65aa381ed167eca61e07

See more details on using hashes here.

File details

Details for the file sqs_list_filled_queues-0.3-py3-none-any.whl.

File metadata

File hashes

Hashes for sqs_list_filled_queues-0.3-py3-none-any.whl
Algorithm Hash digest
SHA256 448515d508f8f26f2a7c8abe067d4f5e2eb671e30f6dfb80a1c8673ba5f776e6
MD5 25620d1113eb6dce2e4e8540e767fcd0
BLAKE2b-256 62f0eb20fb46d643ff83ec237a130de01b7a4023ec7846fcd9357bd0ff920bb3

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page