2013-05-09 30 views
0

我已经构建了我的第一个Laravel 4包。Laravel 4 - 如何使用包类作为队列工

我已经使用工匠来创建结构。

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

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

什么是正确的语法将正确的路径添加到我想用来处理队列的类。

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

但我应该把在作为:

类是否保存在此处/app/controllers/TestClass.php(怎么一回事,因为这被自动加载)
的例子我能得到这个工作如果班级在一个包中,那么这个班级是否在队列中?
此文件是在工作台: 工作台\供应商\包的\ src \供应商\包

我的包作曲家文件包含

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

EG。队列:: push('vendor \ package \ TestClass',数组('message'=> $ message));

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

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

感谢所有和任何帮助

+0

这可能是一个工作台相关的问题。你是否在工作台没有包装的情况下尝试过? (即在供应商/供应商/包目录中) – 2013-05-09 12:35:42

回答

0

看起来像你的包类不被自动加载。

尝试访问您的包文件夹,工作台/供应商/包和运行compsoer更新。如果您的作曲家“自动加载”设置是正确的,这应该工作。