centos安装消息队列beanstalkd
起因:开始想在windows安装beanstalkd,可以找了很多资料都没有成功。最终还是妥协。在虚拟机上装一个centos系统,然后在centos上安装beanstalkd供windows使用
yum install epel-release
yum install beanstalkd --enablerepo=epel
安装成功
启动。这里用的是默认端口。IP地址是虚拟机上的IP地址,注意,这个地方不要写成127.0.0.1。毕竟,我是要在windows上访问beanstalkd服务
/usr/bin/beanstalkd -l 127.0.0.1 -p 11300 &
重启
service beanstalkd restart
关闭防火墙
service iptables stop
到此,虚拟机上的操作已经完成。接下来就是到windows服务器上去测试,是否可以正常访问了
测试PHP代码如下
<?php $queue_name = 'testQue'; send2queue($queue_name,1); send2queue($queue_name,2); send2queue($queue_name,3); $pheanstalk = get_beanstalk(); while($job = $pheanstalk->watch($queue_name)->ignore('default')->reserve(3)){ $res = $job->getData(); $pheanstalk->delete($job); print_r($res); }
结果正常。注意“reserve(3)”这个地方。3表示获取任务3秒钟如果没有反应,表示任务获取失败。如果没有这个数字,可能会出现超时的情况