bentools / safe-sync-transport
Symfony Messenger 安全同步传输。
dev-main
2023-02-01 14:35 UTC
Requires
- php: >=8.0
- symfony/messenger: ^5.4|^6.0
Requires (Dev)
- ext-sqlite3: *
- doctrine/doctrine-bundle: ^2.8
- doctrine/doctrine-migrations-bundle: ^3.2
- doctrine/orm: ^2.14
- pestphp/pest: ^1.22
- phpstan/phpstan: ^1.9
- squizlabs/php_codesniffer: ^3.7
- symfony/console: ^5.4|^6.0
- symfony/doctrine-messenger: ^5.4|^6.0
- symfony/dotenv: ^5.4|^6.0
- symfony/framework-bundle: ^5.4|^6.0
- symfony/runtime: ^5.4|^6.0
- symfony/yaml: ^5.4|^6.0
This package is not auto-updated.
Last update: 2024-09-14 20:09:46 UTC
README
此包为 Symfony Messenger 的 sync://
传输提供了不同的方法
- 消息以 同步方式 处理,类似于
sync://
传输 ✅
但是
- 如果出现失败(处理程序抛出异常),消息可以被 重试(而原始的
sync://
会抛出异常并崩溃)👉 - 当达到最大重试次数时,消息可以进入
failure_transport
☝️
这样,safe-sync://
可以作为任何异步传输的 直接替代品,遵循相同的逻辑(除了消息现在是同步处理的)。👍
在消息处理过程中抛出异常时,它会被 传输捕获,并应用你在 messenger.yaml
中定义的规则。
安装
composer require bentools/safe-sync-transport
使用
示例
# config/packages/messenger.yaml framework: messenger: failure_transport: failed transports: sync: dsn: 'safe-sync://' retry_strategy: max_retries: 3 delay: 100 multiplier: 2 failed: dsn: 'doctrine://default' routing: App\DummyMessage: sync
测试
composer test
许可
MIT。