Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/230.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在PHP应用程序中使用Net_Gearman?_Php_Gearman - Fatal编程技术网

如何在PHP应用程序中使用Net_Gearman?

如何在PHP应用程序中使用Net_Gearman?,php,gearman,Php,Gearman,我有一个PHP应用程序,我想在其中使用Gearman完成耗时的任务。我搜索了很多,发现Net_Gearman是包含客户端和工作类的PHP API 为了使用Net_Gearman,我接下来应该做什么?我对Linux和Perl一无所知。有几件事可以帮助您走上正轨(我使用了Gearman的一些笔记和我自己对Gearman工作原理的了解) 首先,你需要确保你有gearmand 已在linux计算机上正确安装/运行 Ubuntu- Centos/Redhat-一个简单的sudo-yum-install-

我有一个PHP应用程序,我想在其中使用Gearman完成耗时的任务。我搜索了很多,发现Net_Gearman是包含客户端和工作类的PHP API


为了使用Net_Gearman,我接下来应该做什么?我对Linux和Perl一无所知。

有几件事可以帮助您走上正轨(我使用了Gearman的一些笔记和我自己对Gearman工作原理的了解)

  • 首先,你需要确保你有gearmand 已在linux计算机上正确安装/运行

    Ubuntu-

    Centos/Redhat-一个简单的
    sudo-yum-install-gearmand-libgearman
    就可以做到这一点。有很多关于从源代码安装的指南;你可能不想那样做

客户: 创建一个客户端脚本,该脚本将连接到gearmand流程并向其提交作业:

require_once 'Net/Gearman/Client.php';

$client = new Net_Gearman_Client('localhost:7003');
$client->someBackgroundJob(array(
    'userid' => 5555,
    'action' => 'new-comment'
));
图书馆: 创建一个库/另一个脚本来处理实际作业(在本例中为someBackgroundJob):

  • 如果Gearman正在运行,那么您应该看到流程像上面那样运行。如果不是,你需要启动它。。。Ubuntu:
    ServiceGearman作业服务器启动
    Centos/Redhat:
    ServiceGearmand启动
  • 查看队列中有哪些作业!运行以下命令:

    (echo status ; sleep 1) | nc 127.0.0.1 4730
    

这假设您的gearmand服务器在同一台机器上运行,并且已安装
netcat

两件事让你走上正轨(我用了一些笔记和我自己对Gearman工作原理的了解)

  • 首先,你需要确保你有gearmand 已在linux计算机上正确安装/运行

    Ubuntu-

    Centos/Redhat-一个简单的
    sudo-yum-install-gearmand-libgearman
    就可以做到这一点。有很多关于从源代码安装的指南;你可能不想那样做

客户: 创建一个客户端脚本,该脚本将连接到gearmand流程并向其提交作业:

require_once 'Net/Gearman/Client.php';

$client = new Net_Gearman_Client('localhost:7003');
$client->someBackgroundJob(array(
    'userid' => 5555,
    'action' => 'new-comment'
));
图书馆: 创建一个库/另一个脚本来处理实际作业(在本例中为someBackgroundJob):

  • 如果Gearman正在运行,那么您应该看到流程像上面那样运行。如果不是,你需要启动它。。。Ubuntu:
    ServiceGearman作业服务器启动
    Centos/Redhat:
    ServiceGearmand启动
  • 查看队列中有哪些作业!运行以下命令:

    (echo status ; sleep 1) | nc 127.0.0.1 4730
    

这假设您的gearmand服务器在同一台机器上运行,并且已安装
netcat

从谷歌上获取一个教程。获取知识。从谷歌获取教程。获取知识。它绝对应该是两行!那是我的错!让我现在就结束它!谢谢你为我编辑这个@halferIt绝对应该是两行!那是我的错!让我现在就结束它!谢谢你为我编辑这个@半身人
(echo status ; sleep 1) | nc 127.0.0.1 4730