mcfedr/ /sqs-queue-driver-bundle
3.5.0
2018-07-19 12:26 UTC
Requires
- php: >=5.5
- aws/aws-sdk-php: ^3.15
- mcfedr/queue-manager-bundle: ^5.2
- symfony/framework-bundle: ^3.0|^4.0
Requires (Dev)
- friendsofphp/php-cs-fixer: ^2.1
- phpunit/phpunit: ^4.0|^5.3
- symfony/browser-kit: ^3.0|^4.0
- symfony/monolog-bundle: ^2.8|^3.0|^4.0
Suggests
- mcfedr/doctrine-delay-queue-driver-bundle: A driver to delay tasks, useful with sqs
README
一个用于Queue Manager Bundle的驱动,该驱动使用Amazon SQS
用法
sqs运行器是一个Symfony命令。如果需要处理更多的任务,您可以运行多个实例。
./bin/console mcfedr:queue:{name}-runner
其中{name}
是您在配置中使用的名称。添加-v
或更多以获取详细日志。
安装
Composer
composer require mcfedr/sqs-queue-driver-bundle
AppKernel
将软件包包含在您的AppKernel中
public function registerBundles()
{
$bundles = [
...
new Mcfedr\QueueManagerBundle\McfedrQueueManagerBundle(),
new Mcfedr\SqsQueueDriverBundle\McfedrSqsQueueDriverBundle(),
配置
安装此软件包后,您可以设置类似以下格式的队列管理器配置
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/...
这将创建一个名为"mcfedr_queue_manager.default"
的QueueManager
服务
default_url
- 默认SQS队列URLregion
必需 - 您队列所在的地区credentials
可选 - 指定您的密钥和秘密 这不是必需的,因为SDK可以从多个地方获取您的凭证queues
可选 - 允许您为队列设置短名称的映射,这使得使用多个队列并保持配置在一个地方变得更加容易
到QueueManager::put
的选项
url
- 队列URL的字符串queue
- 配置中队列的名称的字符串time
- 表示何时安排此任务的\DateTime
对象。 注意: SQS可以延迟任务长达15分钟delay
- 从现在开始安排此任务的时间(秒)。 注意: SQS可以延迟任务长达15分钟visibilityTimeout
- 在此期间,Amazon SQS防止其他消费者接收和处理消息的秒数。