起因:開始想在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秒鍾如果沒有反應,表示任務獲取失敗。如果沒有這個數字,可能會出現超時的情況
