3

Beanstalkd のセットアップで何か問題がありました。プロデューサーを作成しましたが、無限ループのようにロードし続けます。この問題を GitHub にも投稿しました

単純な配列を持つ 2 つのチューブを追加しようとしましたが、発生する他の問題は、チューブの名前を使用すると、期待する値がないことです。常に古いチューブの値を取得します。

<?php 
ini_set('display_errors', 1);
ini_set('display_startup_errors', 1);
error_reporting(E_ALL);
require("vendor/autoload.php");
function p($s){
    echo "<pre>";
    print_r($s);
    echo "</pre>";
}
use Pheanstalk\Pheanstalk;
$pheanstalk = new Pheanstalk('127.0.0.1');  //initiating an object
$watches = $pheanstalk->watch("ashimatube103613");
if ($pheanstalk->getConnection()->isServiceListening() == true) {  
    p($job = $pheanstalk->reserve());  
    while($job = $pheanstalk->reserve()) {
        $getdata = $job->getData();     
        p($getdata);
        echo 'test this is ';   
        $pheanstalk->delete($job);
    } 
}
$start  = $pheanstalk->getConnection()->isServiceListening(); // true or false
echo $start."listening";
try {
    # $job = $pheanstalk->reserve();
    # p($job->getData());
    echo 'here test';
} catch (Exception $e) {
    echo "Error sending message - {$e->getMessage()} \n";
}

私は何を間違えましたか?

これが私のプロデューサーコードです:producer.php

<?php 
ini_set('display_errors', 1);
ini_set('display_startup_errors', 1);
error_reporting(E_ALL);
#echo phpinfo();
require("vendor/autoload.php");

function p($s){
    echo "<pre>";
    print_r($s);
    echo "</pre>";
}
use Pheanstalk\Pheanstalk;


$pheanstalk = new Pheanstalk('127.0.0.1');  //initiating an object

$args = array(
    "date" => "2017-1-17",
    "id"=>array("7","8","39","4")
);

#producer
$put = $pheanstalk->useTube("ashimatube103613")->put(json_encode(array($args)));
exit();
4

1 に答える 1