如何在 symfony 中实例化多个 mqtt 客户端

Posted

技术标签:

【中文标题】如何在 symfony 中实例化多个 mqtt 客户端【英文标题】:How to instantiate multiple mqtt clients in symfony 【发布时间】:2019-07-05 06:16:26 【问题描述】:

使用 php mqtt 客户端库,可以连接到 mqtt 代理并保持连接。 这是通过loopForever() 方法完成的。每当客户端接收到东西时,都会调用一个回调方法。

如果您直接在您的正常源代码(控制器、业务模型或其他)中实例化此客户端,您将不可避免地陷入无限循环。 唯一的方法似乎是在一个额外的 php 进程中运行它。在 symfony 中,这可以通过将其包装在控制台命令中来完成。

如果我想知道这个或多个客户端连接是否仍然存在,控制状态的最佳方法是什么?我如何查看 symfony 的流程以确保客户端仍处于连接状态?

我的目的是让客户端或多个客户端在 symfony 后端中进行配置,自动启动它们并一直观察它们的状态。

谢谢

【问题讨论】:

【参考方案1】:

我建议使用supervisord

【讨论】:

以上是关于如何在 symfony 中实例化多个 mqtt 客户端的主要内容,如果未能解决你的问题,请参考以下文章

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

PyQt5如何在主UI中实例化多个UI

Angular 2 - 如何以特定顺序在组件中实例化多个服务?

子类化 UIView 并显示多个实例

如何使用线程实例化多个 QApplication

多处理池比手动实例化多个进程慢得多