Laravel Queue:如何在共享主机上使用

时间:2014-11-04 07:06:17

标签: ssh laravel-4

我已经使用Beanstalkd等阅读了有关Laravel Queue的教程,并且使用队列的想法非常棒,因为在我当前的项目中,向注册用户发送Welcome邮件需要10秒钟来处理附加徽标的原因。我可以想象如果更多用户在一个实例注册会发生什么。因此,使用队列可以加快速度。

在我正在处理的共享服务器中,我没有SSH Access。因此,根据教程设置队列是很遥远的。

我想知道是否有办法在没有SSH Access的情况下设置Laravel Queue,如果有办法,我需要一个指南。

1 个答案:

答案 0 :(得分:2)

您无法在共享服务器上使用Beanstalkd,因为您无法安装该服务,而且我不知道为共享主机提供该服务的任何托管服务。但是,您可以使用IronMQ这是一个远程托管服务(因此您不需要在服务器上安装任何东西)。 Laravel队列API对于任何队列服务都是相同的,因此您可以像使用Queue::push一样使用beanstalkd

这是一个很棒的视频,由Laravel的创建者Taylor Otwell设置: http://vimeo.com/64703617。您还可以阅读此tutorial,其中详细介绍了如何将IronMQ与Laravel一起使用。

IronMQ是付费服务,但它确实为开发人员提供了Free Plan,每月提供100万个API请求。

不是像artisan queue:listen那样使用beanstalkd,而是在处理队列中的每个作业时为IronMQ定义一条路由:

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