2

我开始将 Iron.io 视为我的队列进程的服务。通过 laravel 中的简单设置,我可以在几分钟内完成它,但有些东西我不清楚。

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

php artisan queue:subscribe resizer http://mywebsite.com/queue/resizer  

在文件中的设置上,我必须在这种情况下创建的队列queue.php的键上给出名称queueresizer

'iron' => array(
            'driver'  => 'iron',
            'host'    => 'mq-aws-us-east-1.iron.io',
            'token'   => 'xxxxxx',
            'project' => 'xxxx',
            'queue'   => 'resizer',
            'encrypt' => true,
        ),

但可以肯定的是,我会有其他类型的队列。这个调整器队列负责调整图像大小,但我必须设置另一个用于发送email可能称为email.

现在假设我想要实现email队列并且还拥有resizer我认为只是订阅另一个服务的井。

 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/emailIron.io时,由于我设置的设置,resizer该进程向该队列添加了另外 1 条消息。那么,如何将不同的任务/队列分配给 Iron.io,以满足不同的需求?emailresizer

4

1 回答 1

3

您可以使用 pushRaw 功能

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

例子:

Queue::pushRaw("This is Hello World payload", "email");

于 2014-07-09T03:28:24.283 回答