kinetis / queue-sqs
A Fiber-native non-blocking Amazon SQS backend for kinetis/queue's QueueInterface.
Requires
- php: ^8.4
- async-aws/sqs: ^2.9
- kinetis/framework: ^1.6
- kinetis/queue: ^1.2
- kinetis/revolt-http-client: ^1.0
Requires (Dev)
- infection/infection: ^0.34.2
- kinetis/cache-redis: ^1.0
- kinetis/persistence: ^1.7
- phpstan/phpstan: ^2.2
- phpunit/phpunit: ^11.0
- vimeo/psalm: ^6.16
README
kinetis/queue-sqs
A Fiber-native, non-blocking Amazon SQS backend for kinetis/queue's QueueInterface
Adds Amazon SQS as a queue backend. push()/pop()/ack()/release()/fail()
work exactly like any other backend — only your configuration changes.
use Kinetis\Config\Config; use Kinetis\QueueSqs\SqsClientFactory; use Kinetis\QueueSqs\SqsQueue; $queue = new SqsQueue(SqsClientFactory::fromConfig($config)); $queue->push(new SendWelcomeEmail($email, $name), queue: 'default');
Configuration
QUEUE_CONNECTION=sqs
QUEUE_SQS_REGION=us-east-1
| Key | Default | Purpose |
|---|---|---|
QUEUE_SQS_REGION |
(required) | AWS region. |
QUEUE_SQS_ENDPOINT |
— | SQS-compatible endpoint (e.g. LocalStack). |
QUEUE_SQS_QUEUE_PREFIX |
— | Prepended to every queue name — for shared AWS accounts. |
All three are scoped — QUEUE_SQS_REGION + reports →
QUEUE_REPORTS_SQS_REGION. kinetis/queue's own keys
(QUEUE_CONNECTION, QUEUE_MAX_ATTEMPTS, ...) are documented in that
package; full reference:
docs.kinetis.dev/config.html.
Credentials are never read from Kinetis config — AsyncAws's own default
credential provider chain (AWS_ACCESS_KEY_ID/AWS_SECRET_ACCESS_KEY, or
an IAM role) resolves them. A push()/pop() queue name resolves
directly to an SQS queue of that name — create it ahead of time; this
package never creates one automatically.
Installation
composer require kinetis/queue-sqs
Requires PHP 8.4+, kinetis/framework, kinetis/queue, and
kinetis/revolt-http-client. Full documentation:
docs.kinetis.dev/queue-sqs.html.
License
MIT — see LICENSE.