问题标签 [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.

0 投票
1 回答
580 浏览

symfony - 将交换绑定到 Symfony Messenger 组件中的交换

是否可以在 Symfony Messenger 组件中定义交换之间的绑定?(此处为 4.4 版本)。

我知道有可能像这里一样绑定到队列交换:

然后应用程序设置它们之间的交换、队列和绑定。我希望基于路由键将交换绑定到另一个交换具有相同的效果。

我知道我可以使用rabbitmq-bundle,但IMO 是多余的——我想保留一个组件来管理rabbitMQ。

例如,我想根据某些路由键将交换绑定other_app到交换。my_app.incoming

0 投票
2 回答
896 浏览

php - 如何在多个 Symfony 实例之间共享应用程序缓存(共享缓存池)?

我的 symfony 应用程序有多个在单独的 docker 容器中运行的实例

我已经配置我app.cache使用redis:

我有同样的prefix_seed

结果我进入redis是这样的:

从上面可以看出,2 个不同的实例试图通过相同的键从 redis 中获取值,workers.restart_requested_timestamp但即使使用相同的 . 前缀也是不同的prefix_seed

在这个例子中,我使用了 messenger 组件,我想通过stop-workers命令(通过共享的 redis)停止工作人员到处运行。但一般来说这与缓存配置有关。

如何克服这个问题并告诉两个应用程序使用同一个池?这是什么配置?

0 投票
1 回答
605 浏览

php - CRITICAL messenger 处理消息 AppBundle\Message\Message 时引发错误

我正在使用 symfony messenger 组件:https ://symfony.com/doc/current/messenger.html 但是当重试失败时,我的日志会被这些消息淹没:

问题是我不想要关键消息:有没有办法将它们更改为错误消息?

在文件中找到:

Symfony\Component\Messenger\EventListener\SendFailedMessageForRetryListener

l.76 处的负责人行:

希望有人可以帮忙,

谢谢 !^^

0 投票
0 回答
105 浏览

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]

0 投票
1 回答
905 浏览

php - 如何从 Symfony 项目中运行 bin/console messenger:consume 命令?

我在非 Symfony 项目中使用Messenger 组件,并在 DSN 传输中使用 Doctrine。现在我想测试我的代码并在本地机器上使用消息,但我不知道如何在控制台中运行 messenger 命令。

我尝试在控制台中使用Symfony\Component\Console\Application和注册该\Symfony\Component\Messenger\Command\ConsumeMessagesCommand命令,但是有很多嵌套的依赖项。

你有什么主意吗?

0 投票
0 回答
36 浏览

php - 在 Symfony 下,语言环境似乎在没有解释的情况下发生了变化

我有一个 Symfony 4 应用程序,我在其中使用 dompdf 生成 PDF 文件。在我的树枝文件中,我使用本地化日期来显示日期。我希望我的日期用法语写。

我在两种不同的服务中使用 twig 模板:一种由我的浏览器调用,另一种使用Messenger

当我使用“常规”浏览器方式生成 PDF 时,日期是用法语编写的。

日期:2020 年 12 月 12 日

但是当我使用 Messenger 生成它时,日期是英文的。

日期:2020 年 12 月 12 日

你知道为什么吗?

0 投票
1 回答
280 浏览

symfony - Symfony Messenger 不会总是重启

我目前正在开发一个 Symfony 4 应用程序,它使用Symfony Messenger与专门的工作人员一起处理一些后台作业。

我使用具有以下配置的 systemd v241 运行工作程序:

正如文档中所写,worker 不能永远运行,因此它每小时或每次达到 512M 的内存限制时都会重新启动。

我的问题是它并不总是重新启动。有时会,但有时不会,我唯一得到的就是Main process exited, code=killed, status=15/TERM日志中的 a 。

知道为什么以及如何解决这个问题吗?

0 投票
0 回答
316 浏览

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,以便将来消息可以被其他微服务甚至其他技术堆栈使用。

谢谢!

0 投票
1 回答
706 浏览

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

但我没有看到提供任何解决方案或解决方法!

0 投票
0 回答
18 浏览

php - Symfony Amqp Messenger“调用成员函数 get() null”

我的控制器

我的消息处理程序

我已经尝试了几件事,但总是得到这样的错误。