首先搭建beanstalk 服务 本博主用docker的方式搭建了 服务
然后开始编码 先找到 beanstalk服务sdk 本例中用了 https://github.com/davidpersson/beanstalk
<?php
require('./BeanStalk.class.php');
use Beanstalk\Client;
/**
* Created by PhpStorm.
* User: tom
* Date: 2017/6/2
* Time: 22:43
*/
$db=array('persistent' => true, 'host' => '123.56.23.105', 'port' => 11300, 'timeout' => 1,'logger' =>"") ;
$beanstalk = new Client($db); // For connection options see the
// class documentation.
$beanstalk->connect();
$beanstalk->useTube('abc'); // Begin to use tube `'flux'`.
$beanstalk->put(
23, // Give the job a priority of 23.
5, // Do not wait to put job into the ready queue.
5, // Give the job 1 minute to run.
json_encode(array("action"=>"create","info"=>"niefengjun.cn")) // The job's body.
);
$beanstalk->disconnect();至此 提交
接下来开始监听服务
<?php
require('./BeanStalk.class.php');
use Beanstalk\Client;
//
// A sample producer.
//
$db=array('persistent' => true, 'host' => '123.56.23.105', 'port' => 11300, 'timeout' => 1,'logger' => null) ;
$beanstalk = new Client($db);
$beanstalk->connect();
$beanstalk->watch('abc');
$abc='' ;
$myfile = fopen("newfile.txt", "w") or die("Unable to open file!");
while (true) {
$job = $beanstalk->reserve(); // Block until job is available.
if($job) {
$txt = json_encode($job);
fwrite($myfile, $txt);
}
}
// When exiting i.e. on critical error conditions
// you may also want to disconnect the consumer.
$beanstalk->disconnect();
?>为了判断是否监听成功 将监听的文件写文件

由此证明监听成功 然后就可以开始写相关业务了
你打算打赏多少钱呢?
(微信扫一扫)