bref / symfony-messenger-sns
0.2.0
2019-06-28 09:01 UTC
Requires
- enqueue/sns: ^0.9.12
- sroze/messenger-enqueue-transport: ^0.3.0
- symfony/event-dispatcher-contracts: ^1.1
This package is auto-updated.
Last update: 2021-03-04 10:24:47 UTC
README
这个小软件包可以帮助您使用 SNS 安装和配置 Symfony Messenger。如果您使用 Flex 安装,大多数配置都将为您完成。
软件包内容
bin/message-consumer
此文件将被“composer copied”到您的项目bin文件夹(即 vendor/bin/message-consumer
)。此文件接收 SNS 消息并将其传递给 App\Consumer\SnsConsumer
。
src/Consumer.php
此类负责解码 SNS 消息并将其放回消息总线。它调度事件,人们可以订阅这些事件以修改行为。例如,重试失败的事件。
config/sns-consumer.yaml
此文件将被 Flex 复制到 config/packages/sns-consumer.yaml
。它包含 Messenger 和 Enqueue Bundle 的示例配置。
Bref 模板
以下是一个小的代码片段,以确保我们使用 Bref 配置了一个 SNS 消费者。
Resources: Consumer: Type: AWS::Serverless::Function Properties: FunctionName: 'my-app-consumer' Handler: vendor/bin/message-consumer Timeout: 20 # in seconds MemorySize: 2048 # ... Events: Sns: Type: SNS Properties: Topic: arn:aws:sns:eu-central-1:xxxxxxx:my_sns_topic
本地开发
在生产环境中,我们使用 SNS,但在本地开发中,我们可能想使用更简单的工具,比如 RabbitMQ。
# .env
# Production
AWS_SNS_DSN=enqueue://acme?topic[name]=my_sns_topic
# Development
AWS_SNS_DSN=amqp://guest:guest@127.0.0.1:5672/%2f/fake_sns
然后您可以使用 bin/console messenger:consume
正常消费消息。