我使用的Ubuntu的NATTY与PHP 5.3.8。我只是让Gearman在我的服务器上工作。在后台运行Gearman工作人员
我对PHP手册中的一些脚本做了一些测试,一切正常。
但是,我想知道是否有办法在后台运行该工作人员,并对其进行监控,以便在转入多工人情况时可以跟踪多少工人我有工作。
通常,我将不得不打开两个终端,一个用于工作人员,另一个用于客户端。在执行php脚本之后,工作人员变得'卡住'了。
在此先感谢。
我使用的Ubuntu的NATTY与PHP 5.3.8。我只是让Gearman在我的服务器上工作。在后台运行Gearman工作人员
我对PHP手册中的一些脚本做了一些测试,一切正常。
但是,我想知道是否有办法在后台运行该工作人员,并对其进行监控,以便在转入多工人情况时可以跟踪多少工人我有工作。
通常,我将不得不打开两个终端,一个用于工作人员,另一个用于客户端。在执行php脚本之后,工作人员变得'卡住'了。
在此先感谢。
好使用GearmanManager。我找到了解决我早期问题的方法。它涉及使用Supervisord将齿轮工人删除。
下面介绍如何安装Supervisord
apt-get install python-setuptools
easy_install supervisor
echo_supervisord_conf > /etc/supervisord.conf
这里是如何配置它(首先从here得到一个启动脚本,并把它保存到/etc/init.d/supervisord
),然后执行以下操作:
chmod +x /etc/init.d/supervisord
update-rc.d -f supervisord defaults
然后你需要更新你的supervisor.conf文件,告诉supervisord你想作为一个守护进程运行哪个命令(当然,这将是你的gearman worker)。以下只是您将添加到supervisord.conf文件的示例,您需要将其更新为您自己的特定情况。
[program:gearman]
command=/usr/bin/php php_gearman_worker.php
numprocs=1
directory=/root/gearman
stdout_logfile=/root/gearman/supervisord.log
environment=GEARMAN_USER=gearman
autostart=true
autorestart=true
user=gearman
stopsignal=KILL
当你完成后,然后开始supervisord,即/etc/init.d/supervisord start
。
一旦你这样做了,你的Gearman工作人员现在处于活动状态,你现在可以通过命令行或浏览器运行你的gearman客户端。
我希望这会有所帮助。
为背景的工人可以通过布赖恩月亮 https://github.com/brianlmoon/GearmanManager
非常感谢,但我发现使用Supervisord另一种更可行的方法。 –
GearMan监视器和Gearman Manager一起应该做的。 https://github.com/yugene/Gearman-Monitor – rjha94
'apt-get install supervisor'并用'[program:gearman]'和'command ='创建'/ etc/supervisor/conf.d/gearman.conf'/usr/bin/php php_gearman_worker.php'就是我所需要的。 –