bentools/safe-sync-transport

Symfony Messenger 安全同步传输。

dev-main 2023-02-01 14:35 UTC

This package is not auto-updated.

Last update: 2024-09-14 20:09:46 UTC


README

此包为 Symfony Messengersync:// 传输提供了不同的方法

  • 消息以 同步方式 处理,类似于 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。