我拼命想让GearmanPHP扩展在Debian6上运行。我有所有的二进制文件和源代码root@debian:/tmp/pear/install#aptitudesearchgearmanigearman-AdistributedjobqueueiAgearman-job-server-JobserverfortheGearmanigearman-tools-ToolsfortheGearmanilibgearman-dev-Developmentfilesfortheilibgearman4-LibraryprovidingGearman...但是当PHP扩展配置中有一些错误时,不允
我拼命想让GearmanPHP扩展在Debian6上运行。我有所有的二进制文件和源代码root@debian:/tmp/pear/install#aptitudesearchgearmanigearman-AdistributedjobqueueiAgearman-job-server-JobserverfortheGearmanigearman-tools-ToolsfortheGearmanilibgearman-dev-Developmentfilesfortheilibgearman4-LibraryprovidingGearman...但是当PHP扩展配置中有一些错误时,不允
据我所知,Gearman不支持预定作业或延迟作业。我在想,也许调度的作业可以先在at中排队,然后在at时间段到期后添加到Gearman队列中。at任务是持久的,因为它们作为文件写入服务器的假脱机目录中的目录。因此,唯一的瓶颈可能是将任务添加到Gearman队列的简单脚本,因为at无法跨服务器分发。将其传递给Gearman以处理实际工作意味着我可以获得正确的工作日志记录等。这是解决这个问题的最佳方法吗?您有其他想法吗?我选择Gearman而不是其他队列解决方案的原因是它有一个PHP扩展。我正在编写的代码用于维护需要发送的电子邮件队列。例如,我可以指定我想在周五9点50分向example@
据我所知,Gearman不支持预定作业或延迟作业。我在想,也许调度的作业可以先在at中排队,然后在at时间段到期后添加到Gearman队列中。at任务是持久的,因为它们作为文件写入服务器的假脱机目录中的目录。因此,唯一的瓶颈可能是将任务添加到Gearman队列的简单脚本,因为at无法跨服务器分发。将其传递给Gearman以处理实际工作意味着我可以获得正确的工作日志记录等。这是解决这个问题的最佳方法吗?您有其他想法吗?我选择Gearman而不是其他队列解决方案的原因是它有一个PHP扩展。我正在编写的代码用于维护需要发送的电子邮件队列。例如,我可以指定我想在周五9点50分向example@
我有一个gearmanworker(称为“manager”),它读取url列表,然后为每个url调用另一个gearmanworker(称为“dependent”),它获取传递的url的内容并做一些工作在它上面-索引,等等。每个url都属于同一个域(例如:www.test.com)。当每个工作人员调用curl_init()时,将建立一个到www.test.com的新连接。我正在寻找一种方法来在工作人员之间共享curl的资源处理程序,以便重用相同的连接。在我的例子中,经理可以创建资源处理程序,然后将其作为工作负载参数传递给依赖项。 最佳答案
我希望构建一个由几十台机器组成的分布式视频编码集群。我以前从未使用过消息队列,但我开始使用的两个是Gearman和Beanstalkd。Beanstalk似乎比Gearman更简单易用,但功能不如Gearman丰富。我不明白的一件事是......你如何在所有服务器上产生新的工作人员?我打算使用php。它就像在CLI中使用“&”运行worker.php一样简单,只是让它坐在那里等待工作吗?我注意到gearman实际上并没有在作业完成后终止进程,但Beanstalk会,所以我必须在每台服务器上的每项作业后重新启动脚本。目前我更倾向于使用Beanstalk,我计划的大致流程是:在每台服务器上
是否可以从后台运行的gearmanworker发回数据(使用PHP)?我知道我可以将状态(分子/分母)传递给客户端,但我需要“返回”数据。背景是我需要调用不同服务器上的工作人员,如果他们没有响应,主脚本应该继续。所以我想我必须在后台运行worker。但我需要他们提供一些数据。更新:这似乎是不可能的。我想我要么将数据存储在共享数据库中,要么将数据从远程服务器写入本地服务器,要么从远程服务器读取数据,要么做这样的事情:shell_exec('gearman-fgetdata-192-168-200-1>/my/path/2>&1&echo$!'); 最佳答案
我遇到了在多台服务器上运行的gearmanworker的问题,我似乎无法解决。问题发生在工作服务器脱机时,而不是工作进程被取消时,并导致所有其他工作进程出错和失败。只有1个客户和2个工作人员的示例-客户:$client=newGearmanClient();$client->addServer('192.168.1.200');$client->addServer('192.168.1.201');$job=$client->do('generate_tile',serialize($arrData));worker:$worker=newGearmanWorker();$worker
我想在项目中实现“GEARMAN”,但我不知道如何在Windows操作系统中安装或配置“GEARMAN”。谁能提供我可以使用“GEARMAN”的任何链接? 最佳答案 Gearman必须在cygwin环境下编译:-安装cygwin并打开shell;-下载并安装libevent;-下载并安装gearman服务器。这里有更详细的教程:http://www.phpvs.net/2010/11/30/installing-gearman-and-gearmand-on-windows-with-cygwin/.
请任何人帮助我在WindowsXP上安装gearmanphp扩展。我在我的系统上安装了xampp1.7.7,并且在我的系统上安装了Cygwin、libevent-1.4.14b-stable和gearmand。请让我知道安装gearman-1.0.2php扩展还需要什么。当我在cygwin终端上运行gearman-1.0.2时抛出命令未找到错误。 最佳答案 toinstallGearmanwithPHPExtensioninCentOSorDebianseeHowtoinstallGearmanwithPHPExtension安装和