问题标签 [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.
php - 在 Gearman 中为特定日期和时间安排工作
据我所知,Gearman 不支持预定作业或延迟作业。我在想也许计划的作业可以先排队,at
然后在at
时间段到期后添加到 Gearman 队列中。
at
任务是持久的,因为它们作为文件写入服务器假脱机目录中的目录。因此,唯一的瓶颈可能是将任务添加到 Gearman 队列的简单脚本,因为at
不能跨服务器分发。将其传递给 Gearman 以处理实际工作意味着我可以获得适当的工作记录等。
这是解决此问题的最佳方法吗?您有其他想法吗?
我选择 Gearman 而不是其他队列解决方案的原因是它具有 PHP 扩展。
我正在编写的代码用于维护需要发送的电子邮件队列。因此,我可以指定我想在周五的 9 点 50 分向 example@example.org 发送电子邮件。
mongodb - pecl 在 php CLI 模式下不起作用(涉及 Gearman 中的 mongoDB)
出于测试目的,我在本地主机上运行了 gearman。所以我从 php 命令行运行 gearman worker.php 文件。当我在正常的 apache 模式下测试它时,mongoDB 工作得很好,但是当它从 gearman 工作文件运行时,我收到错误“致命错误:找不到类 'Mongo'”。现在 Mongo 类来自 pecl 和 php.ini 中的 mongo.so 扩展。所以是的,试图弄清楚为什么从 CLI 运行的 php 文件是不同的。它是否使用单独的 php.ini 文件?
php - 队列系统场问题
到目前为止,我们还没有真正需要在我们的基础设施中实现队列系统,但现在我们需要一些无法通过 cron 作业完成的功能(太慢了)。
我们的基础设施是带有一些 NoSQL 的 LAMP (PHP)。
我看过 Gearman,它似乎非常适合我们的需求。我知道 Digg 和 Yahoo 都使用它,所以它一定是可靠的。
是否有任何管理工具可以在工人死亡或创建新任务时自动启动它?
如何在同一个基础架构下处理多个项目(项目 A 有 5 个任务,项目 B 有 10 个,项目 C 有 1 个)
有没有办法轻松完成周期性任务?
我见过 Celery,它看起来不错,但它似乎只适用于 AMQP(或仅适用于 RabbbitMQ),但它是在 python 中,我还没有找到关于你是否可以使用非 python 任务的太多信息。
谢谢
macos - 在 mac osx 上使用 libdrizzle 安装 gearman
任何人都可以为 mac os 安装启用 libdrizzle 的 gearman 吗?我正在使用 mac 端口,但在启用 libdrizzle 的情况下无法安装它
php - 用于 HA 文件存储的 MongoDB GridFS
我正在做一个项目,我需要存储许多用户上传的文件并提供冗余。对于文件上传,我首先考虑将用户上传的文件放在 NFS“上传”目录中,并使用 Gearman 抓取文件,将其移动到永久存储位置,然后使用文件信息(文件大小、日期...... ETC)。
现在我已经了解了 MongoDB 的 GridFS,我认为这可能是比 NFS 和 Gearman 更好的方法。使用 GridFS,我不需要 NFS,并且内置了冗余——但我会非常信任 MongoDB。
说了这么多,我想知道是否有人有任何想法?有人知道 GridFS 的大型部署吗?我知道很多人将 MongoDB 用于 NoSQL,但我没有找到很多对 GridFS 部署的参考。
谢谢!
php - php gearman 文件上传
是否可以使用 gearman 上传文件?再见。
c - 编译 Gearman 错误 - 存储大小 uuid 未知
尝试在 Suse 10 上编译 gearman,我得到了这个:
这是有问题的源文件:
http://bazaar.launchpad.net/~gearman-developers/gearmand/trunk/annotate/head:/libgearman/client.c
python - 是否可以清空 Gearman 服务器上的作业队列
是否可以清空 Gearman 服务器上的作业队列?我正在为 Gearman 使用 python 驱动程序,并且文档没有任何关于清空队列的信息。我想这个功能应该存在,可能直接连接到 Gearman 服务器。
php - Gearman返回值不起作用
在php使用$gmclient->do(“somefunction”,“somedata”)向它发出请求后,我试图让gearman从函数返回一个值。但是,php 客户端只是超时。我使用的确切代码直接来自 php 手册。我正在使用来自http://docs.php.net/manual/en/gearmanclient.do.php的示例 #1
浏览器给了我这个消息:
此网页无法使用。
http://yoursite.com/client.php上的网页 可能暂时关闭,或者它可能已永久移动到新网址。
有关此错误的更多信息。以下是原始错误消息
错误 324 (net::ERR_EMPTY_RESPONSE):未知错误。
如果有助于详细说明错误消息,则浏览器是 Chrome。
万一有所不同,worker.php 文件正在使用命令“php worker.php”在终端窗口中执行。我在 Ubuntu 9.10 Karmic Koala 上运行。我使用http://blog.stuartherbert.com/php/2010/02/26/getting-gearman-up-and-running-on-ubuntu-karmic/上的说明安装了 gearman
我检查了终端窗口,gearman 正在获取请求并将结果回显到终端中 - 它只是没有发送回客户端。
最终目标是让 gearman 将已执行函数的返回值返回给客户端,并将该值显示给用户。
更新:
根据要求,代码如下:
worker.php(工人)
client.php(客户端代码 - 这是我正在加载浏览器的页面)
下面的评论说它正在工作。我再说一遍,它不起作用。它似乎只起作用,因为我将 $gmclient->do 更改为 $gmclient->doBackground ,它输出作业 ID,而不是函数的实际结果。
最终更新(有解决方案)
经过一番工作,我发现这不是编码错误。Gearman 安装不正确。我决定手动执行操作,而不是使用 apt-get install。我从 gearman 网站 (http://gearman.org/index.php?id=download) 下载了 gearmand (c)。然后我使用了 gearman 网站上的教程,从http://gearman.org/index.php?id=getting_started开始,然后是http://gearman.org/index.php?id=gearman_php_extension
php - Gearman 的 Web UI 或 PHP 作业队列的替代方案
我们开发了一套 PHP SASS 应用程序,并使用 Gearman 在后台同步和异步处理任务。我们喜欢 Gearman 提供的一切,但我们开始发现队列管理变得乏味。
这里有没有人使用过 Gearman 的 Web UI,它允许您查看所有作业服务器和排队的作业?
或者有什么建议可以替代 Gearman,它可以在 LAMP 堆栈上轻松运行并具有良好的 PHP 库支持和 Web UI 的原因?