问题标签 [gearman]
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.
python - 如何通过他们的 uniq id 获取 Gearman Jobs 的状态?
我需要通过这些 uniq id 获取 Gearman 作业的状态,而不是通过打开的处理程序,正如我看到的每个地方所描述的那样
可能吗?在 python-gearman v. 2 中使用...
感谢您的帮助!
php - Gearman 的问题:GEARMAN_COULD_NOT_CONNECT
我已经使用“apt-get install gearman-server”安装了 gearman,然后构建了 PHP PECL。
如果我尝试工人:
$ gearman -w -f wc -- wc -l
它开始等待。正确的。
但是,如果我尝试开始工作(如教程中所述)
$ gearman -f wc < /etc/passwd
它说:
gearman:gearman_client_run_tasks:刷新(GEARMAN_COULD_NOT_CONNECT)127.0.0.1:4730 -> libgearman/connection.cc:480
如果我尝试教程中描述的 PHP str_rev 演示,它会给我同样的错误。
PHP 警告:GearmanClient::do(): flush(GEARMAN_COULD_NOT_CONNECT) 127.0.0.1:4730 -> libgearman/connection.cc:480 in /root/client.php on line 4
这是我使用过的教程: http://gearman.org/index.php?id= getting_started
有人能帮我吗?
编辑:好的。我做了以下操作:“apt-get remove gearman-server”,然后“apt-get install gearman-job-server”。现在错误消失了。但另一个问题:工人和客户现在都冻结了。就在他们等待着什么的时候。有人能帮我吗?
php - 具有多台服务器和 php 工作人员的 Gearman
我遇到了在多台服务器上运行的齿轮工工作人员的问题,我似乎无法解决。
当工作服务器脱机而不是取消工作进程时会出现此问题,并导致所有其他工作进程出错和失败。
只有 1 个客户和 2 个工作人员的示例 -
客户:
工人:
工作代码在 2 个独立的服务器上运行。当每台服务器都启动并运行时,两个工作人员都按预期执行作业。当其中一个工作进程被取消时,另一个工作人员按预期执行所有作业。
但是,当带有已取消工作进程的服务器关闭并完全脱机时,对客户端脚本的请求会挂起,并且剩余的工作进程不会执行任何作业。
我从剩余的工作进程中得到以下一组错误:
当我启动另一台服务器,而不是在其上启动工作进程时,剩余的工作进程会立即启动并执行任何剩余的作业。
我似乎很清楚,我需要工作进程中的一些代码来处理任何可能离线的服务器,但是我看不到如何做到这一点。
非常感谢,
安迪
gearman - Gearman-manager:腻子关闭时速度降低
解决方案: 我找到的解决方案:使用低级nohup程序在关闭连接时忽略腻子发送的信号。所以,而不是./gearman-manager start我做了nohup ./gearman-manager start
注意:仍然,我想知道为什么关闭腻子时它会变慢,或者如果它收到挂断信号,为什么它首先会继续???
关闭腻子会话后,我在执行齿轮工时遇到问题。这就是我所拥有的:
- 以 cron 作业开始检查 DB 中的某些内容(无限循环)的 gearman 客户端。
- gearman manager 从gearman-manager start命令开始接收客户端的任务并管理对工作人员的调用
- gearman worker 从 DB 读取/写入并回显当前作业的状态
当我启动 gearman-manager 时,我可以看到我的工人在接收任务和执行任务时的回声。任务(数据库中的更新)在 cca 中执行。1秒...
A)当我关闭腻子会话时,数据库的变化速度大大降低(cca. 1/10sec)?!你能告诉我这是为什么吗?
B)当我用腻子重新登录时,我没有将 gearman-manager 的输出返回到屏幕上?我希望我会重新登录并看到它继续像关闭腻子之前那样回显状态?也许这可能是因为 gearman-manager 以所有者root启动,而回声来自 .php 以用户gearman运行?或者当我重新登录时,进程在后台?!
php - 从 Gearman 作业服务器中删除所有 Gearman 作业
有没有办法从 Gearman 作业服务器中删除所有 Gearman 作业?我有一个在后台运行 Gearman 作业的 PHP 应用程序。对于我的单元测试,我需要确保 a) 没有工作在等待执行它的工作人员,并且 b) 没有工作人员在工作。后者并不那么重要,因为它很容易杀死工人,但前者 - 我不知道如何实现这一点。
mysql - libdrizzle (mysql) 和 gearman 的错误数据包编号错误
当我尝试将 libdrizzle/mysql 与 gearman 一起使用时,在启动期间出现此错误:
调试 [主] libdrizzle 重播:def -> libgearman-server/plugins/queue/drizzle/queue.cc:562 错误 [主] drizzle_row_buffer:drizzle_state_packet_read:bad packet number:4:110 -> libgearman-server/plugins/queue/毛毛雨/queue.cc:552
尝试使用 gearman 0.24 和 0.23。还有来自 dev-drizzle repo 的 libdrizzle7-release,以及来自源代码的 8.23 和 8.25。
无论数据库表是否为空或有数据,都会出现相同的错误。
php - Gearman,php扩展问题:在..中找不到类'GearmanWorker',使用终端但在浏览器上工作
我最近在 ubuntu 10.04 上安装了 gearman,并安装了它的 pecl 扩展。现在,当我在浏览器中运行包含以下内容的 php 文件时:
我明白了object(GearmanWorker)#1 (0) { }
但是当在终端(通过root)运行一个真正的工作文件时,我得到了这个:
工人代码:
请帮忙!
persistence - Gearman 持久存储解决方案
在考虑到最佳性能的情况下,在 gearman 中引入数据持久性系统的最佳方法是什么?
我问是因为我们正在考虑从 mysql 中的队列系统转移到 gearman。再次使用关系数据库在队列中持久化数据似乎很奇怪,因此我们正在寻找其他可能性。
我知道 libdrizzle、libsqlite 等……但我更多地考虑 nosql,什么是好的、经过验证的和稳定的解决方案?
gearman - GearmanManager 安装
我是 ubuntu 新手,正在尝试为 gearman 安装 gearmanmanager。
我已经从这个位置下载了 gearmanager tar.gz:https ://github.com/brianlmoon/Gearma...tarball/master
尝试通过 install.sh 安装它时,出现以下错误。
错误:检测 linux 发行版与 redhat 或 debian 兼容 要使用哪个 PHP 库,pecl/gearman 还是 PEAR::Net_Gearman?install.sh:55:选择:未找到 install.sh:57:语法错误:“完成”意外
请有人指导我以正确的方式摆脱此错误。
high-availability - 多个 gearman 服务器可以共享同一个 libdrizzle 队列吗?
多个 gearman服务器可以通过 libdrizzle 共享同一个 gearman 队列吗?
我想知道这是否会消除 Gearman 服务器作为单点故障的情况——如果我有多个 Web 节点,每个节点都与同一个 Gearman 服务器通信,那么如果 Gearman 不可用,该站点就会死掉。但是,如果每个 Web 节点都运行自己的 gearman 服务器(并且该节点生成的作业排队到在同一节点上运行的 gearman 服务器),那么单点故障将转移到数据库。(在我们的架构中,这无论如何都是单点故障。)