我为Laravel安装了Pheanstalk包(https://github.com/mikelbring/Pheanstalk) 我现在按照基本示例代码尝试将作业传递给队列并再次将其检索回来。
这是我的代码:
Route::get('queue', function()
{
Pheanstalk::useTube('testtube')->put("job payload goes here\n");
$pheanstalk = Pheanstalk::connection();
$job = $pheanstalk
->watch('testtube')
->ignore('default')
->reserve();
echo $job->getData();
$pheanstalk->delete($job);
});
然而,当我运行它时,我得到一个“未处理的响应”错误,就像没有返回任何内容一样。
Unhandled Exception
Message:
Unhandled response:
Location:
C:\wamp\www\adam\phire\bundles\pheanstalk\pheanstalk\classes\Pheanstalk\Command\PutCommand.php on line 108
Stack Trace:
#0 C:\wamp\www\adam\phire\bundles\pheanstalk\pheanstalk\classes\Pheanstalk\Connection.php(121): Pheanstalk_Command_PutCommand->parseResponse('', NULL)
#1 C:\wamp\www\adam\phire\bundles\pheanstalk\pheanstalk\classes\Pheanstalk.php(511): Pheanstalk_Connection->dispatchCommand(Object(Pheanstalk_Command_PutCommand))
#2 C:\wamp\www\adam\phire\bundles\pheanstalk\pheanstalk\classes\Pheanstalk.php(273): Pheanstalk\Pheanstalk->_dispatch(Object(Pheanstalk_Command_PutCommand))
#3 C:\wamp\www\adam\phire\application\routes.php(45): Pheanstalk\Pheanstalk->put('job payload goe...')
#4 [internal function]: Laravel\Bundle::{closure}()
#5 C:\wamp\www\adam\phire\laravel\routing\route.php(163): call_user_func_array(Object(Closure), Array)
#6 C:\wamp\www\adam\phire\laravel\routing\route.php(124): Laravel\Routing\Route->response()
#7 C:\wamp\www\adam\phire\laravel\laravel.php(167): Laravel\Routing\Route->call()
#8 C:\wamp\www\adam\phire\public\index.php(34): require('C:\wamp\www\ada...')
#9 {main}
有人熟悉Pheanstalk并且可以提供一些帮助吗?
由于 亚当。
答案 0 :(得分:0)
Here是引发异常的地方。好像你的beanstalkd正在返回pheanstalk不理解的东西。您确定要连接到正在运行的beanstalkd实现吗?
Pheanstalk Laravel捆绑包似乎不是问题。您是否尝试使用相同的连接详细信息进行常规Pheanstalk测试?