我已经使用Beanstalkd
等阅读了有关Laravel Queue的教程,并且使用队列的想法非常棒,因为在我当前的项目中,向注册用户发送Welcome
邮件需要10秒钟来处理附加徽标的原因。我可以想象如果更多用户在一个实例注册会发生什么。因此,使用队列可以加快速度。
在我正在处理的共享服务器中,我没有SSH Access
。因此,根据教程设置队列是很遥远的。
我想知道是否有办法在没有SSH Access
的情况下设置Laravel Queue,如果有办法,我需要一个指南。
答案 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();
});