Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/mcfedr/sqs-queue-driver-bundle
A driver for Queue Manager Bundle that uses Amazon SQS
https://github.com/mcfedr/sqs-queue-driver-bundle
jobs sqs symfony
Last synced: 20 days ago
JSON representation
A driver for Queue Manager Bundle that uses Amazon SQS
- Host: GitHub
- URL: https://github.com/mcfedr/sqs-queue-driver-bundle
- Owner: mcfedr
- License: mit
- Created: 2016-07-26T08:54:34.000Z (over 8 years ago)
- Default Branch: master
- Last Pushed: 2018-07-19T12:27:05.000Z (over 6 years ago)
- Last Synced: 2024-10-11T13:13:23.237Z (about 1 month ago)
- Topics: jobs, sqs, symfony
- Language: PHP
- Homepage:
- Size: 84 KB
- Stars: 4
- Watchers: 3
- Forks: 4
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
Awesome Lists containing this project
README
# Sqs Queue Driver Bundle
A driver for [Queue Manager Bundle](https://github.com/mcfedr/queue-manager-bundle) that uses [Amazon SQS](https://aws.amazon.com/sqs/)
[![Latest Stable Version](https://poser.pugx.org/mcfedr/sqs-queue-driver-bundle/v/stable.png)](https://packagist.org/packages/mcfedr/sqs-queue-driver-bundle)
[![License](https://poser.pugx.org/mcfedr/sqs-queue-driver-bundle/license.png)](https://packagist.org/packages/mcfedr/sqs-queue-driver-bundle)
[![Build Status](https://travis-ci.org/mcfedr/sqs-queue-driver-bundle.svg?branch=master)](https://travis-ci.org/mcfedr/sqs-queue-driver-bundle)## Usage
The sqs runner is a Symfony command. You can runner multiple instances if you need to
handle higher numbers of jobs.```bash
./bin/console mcfedr:queue:{name}-runner
```Where `{name}` is what you used in the config. Add `-v` or more to get detailed logs.
## Install
### Composer
composer require mcfedr/sqs-queue-driver-bundle
### AppKernel
Include the bundle in your AppKernel
public function registerBundles()
{
$bundles = [
...
new Mcfedr\QueueManagerBundle\McfedrQueueManagerBundle(),
new Mcfedr\SqsQueueDriverBundle\McfedrSqsQueueDriverBundle(),## Config
With this bundle installed you can setup your queue manager config similar to this:
mcfedr_queue_manager:
managers:
default:
driver: sqs
options:
default_url: https://sqs.eu-west-1.amazonaws.com/...
region: eu-west-1
credentials:
key: 'my-access-key-id'
secret: 'my-secret-access-key'
queues:
name: https://sqs.eu-west-1.amazonaws.com/...
name2: https://sqs.eu-west-1.amazonaws.com/...This will create a `QueueManager` service named `"mcfedr_queue_manager.default"`
* `default_url` - Default SQS queue url
* `region` **required** - The region where your queue is
* `credentials` *optional* - [Specify your key and secret](http://docs.aws.amazon.com/aws-sdk-php/v3/guide/guide/credentials.html#using-hard-coded-credentials)
This is optional because the SDK can pick up your credentials from a [variety of places](http://docs.aws.amazon.com/aws-sdk-php/v3/guide/guide/credentials.html)
* `queues` *optional* - Allows you to setup a mapping of short names for queues, this makes it easier to use multiple queues and keep the config in one place## Options to `QueueManager::put`
* `url` - A `string` with the url of a queue
* `queue` - A `string` with the name of a queue in the config
* `time` - A `\DateTime` object of when to schedule this job. **Note:** SQS can delay jobs up to 15 minutes
* `delay` - Number of seconds from now to schedule this job. **Note:** SQS can delay jobs up to 15 minutes
* `visibilityTimeout` - Number of seconds during which Amazon SQS prevents other consumers from receiving and processing the message.