Skip to content

[suggestion] Support for AWS SQS GetQueueAttributes #391

Description

@holtkamp

When a AWS SQS Message is fetched from a MessageQueue and is not "acknowledged" that it has been processed, it is considered to be "in flight".

To determine the number of "in flight" Messages on a MessageQueue, the GetQueueAttributes() action can be used, which also provides access to other usefull information about the MessageQueue.

The current Driver::info() could/should be used for this?

As implementation something like this can be done for the SQS Driver:

//SqsDriver.php
public function info(string $queueName = null): array
{
    $queueAttributes = [
            'prefetch' => $this->prefetch,
        ];

        if(is_string($queueName)){
            $queueUrl = $this->resolveUrl($queueName);
            $result = $this->sqs->getQueueAttributes([
                'AttributeNames' => ['All'],
                'QueueUrl' => $queueUrl,
            ]);


            $queueAttributes += $result['Attributes'] ?? [];
        }

        return $queueAttributes;
}
//AbstractQueue.php
public function info(){
    return []; //empty array for now
}
//PersistentQueue.php
public function info(){
    return $this->driver->info($this->name);
}

Would support for such a method something to be adopted in Bernard, or is it too technology-specific?

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions