Laravel 4 - 如何将包类用作队列工作者

时间:2013-05-09 11:11:46

标签: queue laravel beanstalkd

我已经制作了我的第一个Laravel 4包。

我使用工匠来创造结构。

我需要使用包处理队列(作为worker)。

我正在使用内置的Beanstalk队列并对其进行配置,我可以添加到队列中。

为我要用于处理队列的类添加正确的路径的正确语法是什么。

如果类保存在此处,我可以使用 /app/controllers/TestClass.php (因为这会自动加载)
示例:

Route::get('/addtoqueue', function()
{
    $message = "This is a test message";
    Queue::push('TestClass', array('message' => $message));
    return 'Added to Queue';
});

但是如果班级在一个包中,我应该把它作为队列中的类? 该文件位于工作台中: 的工作台\厂商\包\ SRC \卖方\封装

我的包编辑器文件包含

"autoload": {
    "psr-0": {
        "Qwickli\\Tika": "src/"
    }
},

EG。     Queue :: push('vendor \ package \ TestClass',array('message'=> $ message));

当我运行php artisan队列时:听它正确地拾取队列中的项目但是它找不到我想用来处理队列的类(在包中)。

由于某种原因,该类没有被加载(或自动加载),我不知道如何实现这一点。

感谢所有人和任何帮助

1 个答案:

答案 0 :(得分:0)

看起来你的包类没有被自动加载。

尝试访问您的包文件夹 workbench / vendor / package 并运行 compsoer update 。如果你的作曲家“自动加载”设置是正确的,这应该可行。