php - 检查特定机器上的 Gearman Worker 状态

标签 php gearman

我正在运行 Gearman server连同 Gearman Manager , 以及他们的 PHP 界面。设置如下所示。 Gearman 服务器可以在两台机器中的一台或第三台机器上。

enter image description here

对于我的实现,我需要能够从一个 worker 那里得知同一台机器上的另一个 worker 是忙还是闲。 例如我应该能够判断机器 1 上的 Worker 2 是否不受机器 1 上的 Worker 1 的影响。可以使用 PHP API 或 telnet 接口(interface)来完成吗?

可能的解决方案

在 Telnet 界面上,'WORKERS' 命令会为您提供连接到服务器的所有工作人员及其 ip 的列表。我相信我可以用它来完成我的任务。我找到了一个 PHP script使用 telnet 获取此信息。

最佳答案

我怀疑你提出的解决方案不是最优的,但是,你没有提供任何关于你试图解决的问题的信息,所以我会尽量按原样回答问题。您将需要在您的工作人员之间进行通信,而 telnet 可能不是一个理想的解决方案。您可能想要查看 Redis 的发布/订阅事件系统之类的东西来进行进程间通信。只需让工作人员发布和订阅一个基于机器名称的 channel ,并设计一个简单的方法来广播工作人员的状态。

关于php - 检查特定机器上的 Gearman Worker 状态,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33908218/

相关文章:

java - 适用于任何语言的不同 gearman 库

service - 使用 gnu-parallel 无限期地进行 fork 进程,捕获单个退出错误并重生

php - 使用 GearmanManager 添加新工作?

php - 如何测试 PHPUnit 模拟对象中的第二个参数

php - 要导出的脚本

php - 用户将超链接和图片粘贴到文本区域

php - 如何在 Wordpress 主题中获取图片网址?

linux - 更改 Pecl 安装目录

php - 高性能印象跟踪

php - 上传 100% 随机挂起