Laravel 4和Iron.io多队列/PHP

Laravel 4和Iron.io多队列/PHP,laravel,laravel-4,queue,iron.io,Laravel,Laravel 4,Queue,Iron.io,我开始将Iron.io作为队列进程的服务。通过在拉雷维尔的轻松设置,我可以在几分钟内完成,但有些事情我还不清楚 我使用artisan命令订阅了一个名为resizer的新队列,如下所示: php artisan queue:subscribe resizer http://mywebsite.com/queue/resizer 在queue.php文件中的设置中,我必须在本例中创建的队列的键queue上给出名称resizer 'iron' => array( '

我开始将Iron.io作为队列进程的服务。通过在拉雷维尔的轻松设置,我可以在几分钟内完成,但有些事情我还不清楚

我使用artisan命令订阅了一个名为
resizer
的新队列,如下所示:

php artisan queue:subscribe resizer http://mywebsite.com/queue/resizer  
queue.php
文件中的设置中,我必须在本例中创建的队列的键
queue
上给出名称
resizer

'iron' => array(
            'driver'  => 'iron',
            'host'    => 'mq-aws-us-east-1.iron.io',
            'token'   => 'xxxxxx',
            'project' => 'xxxx',
            'queue'   => 'resizer',
            'encrypt' => true,
        ),
但我肯定会有其他类型的队列。此重定大小器队列负责调整图像大小,但我必须为发送
电子邮件设置另一个队列,可能称为
电子邮件

现在让我们假设我想要实现
电子邮件
队列,并且还有
大小调整器
,我还以为只要订阅另一个服务就可以了

 php artisan queue:subscribe email http://mywebsite.com/queue/email  
我的路线:

Route::post('queue/resizer', function()
{
    Queue::marshal();
});

Route::post('queue/email', function()
{
    Queue::marshal();
});
问题:

当我点击路由
queue/email
Iron.io时,启动
resizer
,而不是
email
进程,向该队列添加一条消息,因为我在设置
resizer
时设置了。
那么,我如何才能将不同的任务/队列分配给Iron.io,以满足不同的需求呢?

您可以使用pushRaw函数

pushRaw($payload,$queue=null,array$options=array())

例如:


Queue::pushRaw(“这是Hello World有效载荷”、“电子邮件”)

谢谢您的友好回答,请您再具体一点。我从未使用过此方法,它需要在路由上使用,而不是
Queue::marshal()
?此方法的作用是什么?
marshal
方法将负责触发正确的作业处理程序类。要将作业激发到推送队列,只需使用与传统队列相同的
queue::push
方法,或
queue::pushRaw
将消息推送到特定队列。