问题标签 [symfony-messenger]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
symfony - 将交换绑定到 Symfony Messenger 组件中的交换
是否可以在 Symfony Messenger 组件中定义交换之间的绑定?(此处为 4.4 版本)。
我知道有可能像这里一样绑定到队列交换:
然后应用程序设置它们之间的交换、队列和绑定。我希望基于路由键将交换绑定到另一个交换具有相同的效果。
我知道我可以使用rabbitmq-bundle,但IMO 是多余的——我想保留一个组件来管理rabbitMQ。
例如,我想根据某些路由键将交换绑定other_app
到交换。my_app.incoming
php - 如何在多个 Symfony 实例之间共享应用程序缓存(共享缓存池)?
我的 symfony 应用程序有多个在单独的 docker 容器中运行的实例。
我已经配置我app.cache
使用redis:
我有同样的prefix_seed
:
结果我进入redis是这样的:
从上面可以看出,2 个不同的实例试图通过相同的键从 redis 中获取值,workers.restart_requested_timestamp
但即使使用相同的 . 前缀也是不同的prefix_seed
。
在这个例子中,我使用了 messenger 组件,我想通过stop-workers
命令(通过共享的 redis)停止工作人员到处运行。但一般来说这与缓存配置有关。
如何克服这个问题并告诉两个应用程序使用同一个池?这是什么配置?
php - CRITICAL messenger 处理消息 AppBundle\Message\Message 时引发错误
我正在使用 symfony messenger 组件:https ://symfony.com/doc/current/messenger.html 但是当重试失败时,我的日志会被这些消息淹没:
问题是我不想要关键消息:有没有办法将它们更改为错误消息?
在文件中找到:
Symfony\Component\Messenger\EventListener\SendFailedMessageForRetryListener
l.76 处的负责人行:
希望有人可以帮忙,
谢谢 !^^
symfony - 我的 SuluSyliusConsumerBundle 配置有什么问题?
我有一个 Sulu 和一个 Sylius 应用程序,我正在尝试使用 SuluSyliusBundle 和 RabbitMQ 进行集成。我添加了以下配置...
信使.yaml
sulu_sylius_consumer.yaml
问题是,一旦我安装了捆绑包并添加了这两个配置,就会出现以下错误
我相信这是由信使中的配置引起的。我已将路由添加到 routes_admin.yaml,因为它在此处的文档中显示:
routes_admin.yaml
routes_website.yaml
我能做些什么来解决这个错误?[编辑:添加 routes_admin 和 routes_website yaml]
php - 如何从 Symfony 项目中运行 bin/console messenger:consume 命令?
我在非 Symfony 项目中使用Messenger 组件,并在 DSN 传输中使用 Doctrine。现在我想测试我的代码并在本地机器上使用消息,但我不知道如何在控制台中运行 messenger 命令。
我尝试在控制台中使用Symfony\Component\Console\Application
和注册该\Symfony\Component\Messenger\Command\ConsumeMessagesCommand
命令,但是有很多嵌套的依赖项。
你有什么主意吗?
symfony - Symfony Messenger 不会总是重启
我目前正在开发一个 Symfony 4 应用程序,它使用Symfony Messenger与专门的工作人员一起处理一些后台作业。
我使用具有以下配置的 systemd v241 运行工作程序:
正如文档中所写,worker 不能永远运行,因此它每小时或每次达到 512M 的内存限制时都会重新启动。
我的问题是它并不总是重新启动。有时会,但有时不会,我唯一得到的就是Main process exited, code=killed, status=15/TERM
日志中的 a 。
知道为什么以及如何解决这个问题吗?
messenger - 带有 Symfony 序列化器 YAML 映射的 Messenger 传输
我目前正在通过使用捆绑实现的默认注入服务来使用 Symfony 序列化器。我可以将这个序列化程序配置为从特定目录加载 YAML 映射,一切都很好。
现在我还想使用 Symfony Serializer 将消息编码到 Messenger Transport。我在传输配置中启用了 symfony 序列化程序,但它不包括为序列化程序配置的映射。
我知道可以在 messenger 配置中设置一些 symfony 序列化程序特定的配置,但我不知道映射是否可以通过这种方式指定,我尝试了这个,但它没有用:
我还尝试实现自己的传输序列化器,继承自 Symfony\Component\Messenger\Transport\Serialization\Serializer,注入默认的 Symfony 序列化器(SerializerInterface)并通过将序列化器实例传递给父构造函数来替换它。还是不行。
最后但并非最不重要的一点是,我尝试实现自己的传输序列化器并构建我的序列化器组件,添加所有规范化器和我需要的一切。但我似乎找不到加载整个 yaml 文件目录的方法,因为 ClassMetadataFactory 的构造函数采用 YamlFileLoader,它似乎只适用于单个文件。
所以我没有新鲜的想法,任何人都可以解释一下吗?文档似乎很少,因为默认是使用传输的 PHP 序列化程序,但我真的想使用 JSON,以便将来消息可以被其他微服务甚至其他技术堆栈使用。
谢谢!
php - AMQPException 库错误:表对于缓冲区来说太大
我在 Symfony 应用程序中使用 messenger 组件来处理来自 rabbitmq 的消息。
当我发送一条 2-3mb 的消息并且我的处理程序中发生错误时,尝试将消息发送回 rabbit 的中间件会引发以下类型的异常:
AMQPException 库错误:表对于缓冲区来说太大
我在此链接中发现了类似的错误:
https://github.com/vyuldashev/laravel-queue-rabbitmq/issues/10
https://github.com/alanxz/rabbitmq-c/issues/224
https://github.com/php-amqp/php-amqp/issues/131
但我没有看到提供任何解决方案或解决方法!
php - Symfony Amqp Messenger“调用成员函数 get() null”
我的控制器
我的消息处理程序
我已经尝试了几件事,但总是得到这样的错误。