snortlin / symfony-messenger-extensions
Symfony Messenger 扩展
2.0.0
2024-03-01 09:17 UTC
Requires
- php: ^8.3
- symfony/event-dispatcher: ^5.4|^6.4|^7.0
- symfony/messenger: ^5.4|^6.4|^7.0
- symfony/uid: ^5.4|^6.4|^7.0
- symfony/var-dumper: ^5.4|^6.4|^7.0
README
安装
首选的安装方式是通过 Composer
composer require snortlin/symfony-messenger-extensions
使用方法
Messenger 错误记录监听器
# /config/services.yaml services: Snortlin\SymfonyMessengerExtensions\EventSubscriber\WorkerMessageFailedListener: arguments: # Error log dump path $messengerLogDirectory: '%kernel.logs_dir%/messenger/errors' # Optionally, log dump also for retryable messages (default false) $logRetryableMessages: true tags: - { name: kernel.event_listener, event: Symfony\Component\Messenger\Event\WorkerMessageFailedEvent }
消息唯一标识符
# /config/services.yaml services: Snortlin\SymfonyMessengerExtensions\Middleware\MessageUniqueIdMiddleware: ~ # /config/packages/messenger.yaml framework: messenger: buses: messenger.bus.default: middleware: - Snortlin\SymfonyMessengerExtensions\Middleware\MessageUniqueIdMiddleware
常量重试策略
# /config/services.yaml services: app.messenger.retry.constant_retry_strategy: class: Snortlin\SymfonyMessengerExtensions\Retry\ConstantRetryStrategy arguments: # Retry delays in ms, CSV string format (1000,2000,5000) => delay 1s, 2s, 5s. $retries: '1000,2000,5000' # /config/packages/messenger.yaml framework: messenger: transports: my_transport: retry_strategy: service: app.messenger.retry.constant_retry_strategy
无限常量重试策略
# /config/services.yaml services: app.messenger.retry.infinite_constant_retry_strategy: class: Snortlin\SymfonyMessengerExtensions\Retry\InfiniteConstantRetryStrategy arguments: # Retry delays in ms, CSV string format (1000,2000,5000) => delay 1s, 2s, 5s, 5s, ... $retries: '1000,2000,5000' # /config/packages/messenger.yaml framework: messenger: transports: my_transport: retry_strategy: service: app.messenger.retry.infinite_constant_retry_strategy