PHPackages                             kaliop/queueingbundle-sqs - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Queues &amp; Workers](/categories/queues)
4. /
5. kaliop/queueingbundle-sqs

ActiveLibrary[Queues &amp; Workers](/categories/queues)

kaliop/queueingbundle-sqs
=========================

Kaliop Queueing Bundle - AMAZON SQS plugin

v0.10.1(6y ago)12.9k2[1 issues](https://github.com/kaliop-uk/kueueingbundle-sqs/issues)GPL-2.0PHPCI failing

Since Sep 14Pushed 5y ago2 watchersCompare

[ Source](https://github.com/kaliop-uk/kueueingbundle-sqs)[ Packagist](https://packagist.org/packages/kaliop/queueingbundle-sqs)[ RSS](/packages/kaliop-queueingbundle-sqs/feed)WikiDiscussions master Synced 3w ago

READMEChangelog (10)Dependencies (6)Versions (12)Used By (0)

Kaliop Queueing Bundle - AMAZON SQS plugin
==========================================

[](#kaliop-queueing-bundle---amazon-sqs-plugin)

Adds support for AWS Simple Queueing Service to the Kaliop Queueing Bundle

See:  and  respectively.

It has been given its own bundle because it has higher requirements than the base Queueing Bundle

Installation
------------

[](#installation)

1. Install the bundle via Composer.
2. Enable the KaliopQueueingPluginsSQSBundle bundle in your kernel class registerBundles().
3. Clear all caches if not on a dev environment

Usage
-----

[](#usage)

4. If you do not have an AWS account, sign up for one at
5. Create an SQS queue, using the web interface:
6. Set up configuration according to your AWS account

    - edit parameters.yml in this bundle
7. check that you can list the queue:

    ```
     php app/console kaliop_queueing:managequeue list -isqs

     php app/console kaliop_queueing:managequeue info -isqs

    ```
8. push a message to the queue

    ```
     php app/console kaliop_queueing:queuemessage -isqs

    ```
9. receive messages from the queue

    ```
     php app/console kaliop_queueing:consumer -isqs

    ```

Running tests
-------------

[](#running-tests)

If you want to run the test suite outside of Travis, you will need to

1. have an AWS SQS account
2. set the following environment variables: `SYMFONY__SQS__KEY` `SYMFONY__SQS__SECRET` (note that the test config at the moment hardcodes usage of the us-east-1 region)
3. check out somewhere this bundle (no need to install the full Symfony stack)
4. run `composer install`
5. run `php vendor/phpunit/phpunit/phpunit Tests/phpunit`

Notes
-----

[](#notes)

- SQS does *not* natively support routing-keys the way that RabbitMQ does, nor the exchange/queue topology split. This bundle *does* add back support for routing-keys, but it is far from ideal; you are encouraged to set up multiple queues instead of using a single queue with multiple consumers which only consumed messages based on routing keys, esp. if you transmit massive amounts of messages in parallel.

    The way the bundle supports routing keys is:

    - if the Producer has a routing key set, it will add it to the Message Attributes when sending a Message
    - every Consumer always asks for all messages available in the Queue
    - if the Consumer has a routing key set, and the the message has one in its Message Attributes, the two are matched
    - in case of a match, standard processing goes on: the Consumer sends an ACK call to SQS to signal message reception
    - in case of no match, the Consumer does not send the ACK request to SQS; SQS will then wait for a little while, then put the message back in the queue (the amount of time it waits can be configured per-queue)

    If you find any discrepancy between the way routing keys are matched by RabbitMQ and by this bundle, please report it as a bug.
- SQS does *not* support setting a per-message TTL, only a per-queue one, so all MessageProducers which do have a TTL parameter in their public methods will just ignore it when being used with the SQS driver
- SQS does *not* guarantee that messages are delivered in the same order they are sent, unless you use FIFO queues. To use a FIFO queue: - create the FIFO queue - in the bundle configuration, set a value for the `message_group_id` setting for your queue - if you use custom unique message IDs, you will have to set up a service implementing the MessageDeduplicationIdCalculatorInterface interface, and hook it up it using the `message_deduplication_id_calculator` setting for your queue
- SQS does guarantee that messages are delivered, but it does *not* guarantee that every message is delivered only once. If such a constraint is important, build unique message IDs in your app and manage them - or use FIFO queues.
- For a more in-depth comparison of SQS and RabbitMQ, see f.e.

[![License](https://camo.githubusercontent.com/7eff687306eb823e94fc208c88fd66ac878b5a9191a2dcdd14adb3682466de4b/68747470733a2f2f706f7365722e707567782e6f72672f6b616c696f702f7175657565696e6762756e646c652d7371732f6c6963656e7365)](https://packagist.org/packages/kaliop/queueingbundle-sqs)[![Latest Stable Version](https://camo.githubusercontent.com/ccbbb1abd86b6b19fbcf6e67f725e733ec360cded09ca7e194e1d5f53c84c334/68747470733a2f2f706f7365722e707567782e6f72672f6b616c696f702f7175657565696e6762756e646c652d7371732f762f737461626c65)](https://packagist.org/packages/kaliop/queueingbundle-sqs)[![Total Downloads](https://camo.githubusercontent.com/2719fa4ad698fe2ceacfbcc0d8bcfe30b3da0f62378bd89d39105eaa42b34aad/68747470733a2f2f706f7365722e707567782e6f72672f6b616c696f702f7175657565696e6762756e646c652d7371732f646f776e6c6f616473)](https://packagist.org/packages/kaliop/queueingbundle-sqs)

[![Build Status](https://camo.githubusercontent.com/ce5bf827b0450b591b56d87e1b8cf2d9f6e78cc1eba76cee38bfde7c5065fa25/68747470733a2f2f7472617669732d63692e6f72672f6b616c696f702d756b2f6b75657565696e6762756e646c652d7371732e7376673f6272616e63683d6d6173746572)](https://travis-ci.org/kaliop-uk/kueueingbundle-sqs)[![Scrutinizer Code Quality](https://camo.githubusercontent.com/8eb9af7fee4e468d3cb15a122b45c125ccaef55db008dab4dd281146c010d435/68747470733a2f2f7363727574696e697a65722d63692e636f6d2f672f6b616c696f702d756b2f6b75657565696e6762756e646c652d7371732f6261646765732f7175616c6974792d73636f72652e706e673f623d6d6173746572)](https://scrutinizer-ci.com/g/kaliop-uk/kueueingbundle-sqs/?branch=master)[![SensioLabsInsight](https://camo.githubusercontent.com/a52b8badf38e99e24ec5fe62caf2105071f30fb631331946152424423bffc3b3/68747470733a2f2f696e73696768742e73656e73696f6c6162732e636f6d2f70726f6a656374732f31303965336431352d626661362d343932332d383037372d3261336566613562653862392f6d696e692e706e67)](https://insight.sensiolabs.com/projects/109e3d15-bfa6-4923-8077-2a3efa5be8b9)

###  Health Score

25

—

LowBetter than 36% of packages

Maintenance0

Infrequent updates — may be unmaintained

Popularity19

Limited adoption so far

Community6

Small or concentrated contributor base

Maturity60

Established project with proven stability

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~150 days

Recently: every ~8 days

Total

11

Last Release

2431d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/f641f7d6edabf83c56f6c4998b04e6c59a00b46bf51ca6699c31b09f9c948677?d=identicon)[gggeek](/maintainers/gggeek)

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/kaliop-queueingbundle-sqs/health.svg)

```
[![Health](https://phpackages.com/badges/kaliop-queueingbundle-sqs/health.svg)](https://phpackages.com/packages/kaliop-queueingbundle-sqs)
```

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
