2014-11-04 24 views
1

我已閱讀Laravel隊列使用Beanstalkd等教程,使用隊列的想法是太棒了,因爲在我目前的項目中,發送一個Welcome郵件給註冊用戶需要長達10秒處理標識附件的原因。我可以想象如果更多的用戶在一個實例註冊會發生什麼。所以,使用這個隊列會加快速度。Laravel隊列:如何在共享主機上使用

在我工作的共享服務器上,我沒有SSH Access。所以,根據教程設置隊列是非常困難的。

我想知道是否有一種方法來設置Laravel隊列沒有SSH Access,如果有辦法,我需要一個指導。

+0

不是真的。只需使用Laravel Forge並遷移到新服務器即可。 – Laurence 2014-11-04 09:06:09

回答

2

您不能在共享服務器上使用Beanstalkd,因爲您無法安裝該服務,而且我也不知道任何託管服務爲共享託管提供服務。但是,您可以使用IronMQ這是一項遠程託管服務(因此您不需要在服務器上安裝任何內容)。對於任何隊列服務,Laravel隊列API都是相同的,因此您可以像使用beanstalkd那樣使用Queue::push

下面是由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(); 
}); 
+0

這是否意味着我不需要'聽隊列'? – BlackPearl 2014-11-05 19:08:56

+0

是的,沒錯。您只需將隊列推送到IronMQ,它將負責隊列處理。我已經用一個小小的解釋更新了我的答案。在我的回答中鏈接到的視頻中對此進行了很好的解釋。 – Bogdan 2014-11-05 19:23:11

+0

好的,它是否像這樣的亞馬遜SQS? – BlackPearl 2014-11-05 19:32:26