emag-tech-labs / messenger-mongo-bundle
用于Symfony Messenger组件的Mongo传输
1.3.0
2024-03-29 22:21 UTC
Requires
- php: ^8.1
- ext-json: *
- ext-mongodb: *
- mongodb/mongodb: ^1.12
- symfony/messenger: ^5.0 || ^6.0 || ^7.0
Requires (Dev)
- infection/infection: ^0.27.9
- phpstan/phpstan: ^1.10
- phpunit/phpunit: ^10.5
- symfony/framework-bundle: ^5.0 || ^6.0 || ^7.0
- symfony/property-access: ^5.0 || ^6.0 || ^7.0
- symfony/serializer: ^5.0 || ^6.0 || ^7.0
- symfony/var-dumper: ^5.0 || ^6.0 || ^7.0
This package is auto-updated.
Last update: 2024-08-29 23:08:42 UTC
README
此包为Symfony Messenger组件提供了一个新的传输类型。虽然MongoDB不是最佳的消息队列工具,但有时使用应用程序已经使用的工具会更方便。例如,如果您的应用程序已经使用MongoDB,并且您希望对失败的消息进行持久存储,我认为使用MongoDB作为存储非常方便。
安装
推荐通过Composer安装该包
$ composer require emag-tech-labs/messenger-mongo-bundle
配置与使用
如果您需要了解如何配置driverOptions、uriOptions和dsn选项,请参考此处。
framework: messenger: transports: hello_queue: dsn: mongodb://127.0.0.1:27017 options: uriOptions: [] driverOptions: [] database: symfony # required collection: hello_messages # default is "messenger_queue" queue: hello_queue # default is "default" redeliver_timeout: 4800 # default is 3600 enable_writeConcern_majority: false # default is true
此处描述的功能此处也可使用,因此以下命令可用于手动调试失败的消息
# see all messages in the failure transport $ php bin/console messenger:failed:show # see details about a specific failed message $ php bin/console messenger:failed:show 20 -vv # view and retry messages one-by-one $ php bin/console messenger:failed:retry -vv # retry specific messages $ php bin/console messenger:failed:retry 20 30 --force # remove a message without retrying it $ php bin/console messenger:failed:remove # displays the number of queued messages in all transports $ php bin/console messenger:stats
提交错误和功能请求
如果您发现了一个讨厌的错误或想提出一个新的功能,欢迎您在此处提交问题或创建pull request。