2017-08-17 202 views
1

有一種由工人來改變處理的ID的批量大小從redis的?Laravel隊列(Redis的)批量大小

我使用Redis的作爲MySQL的隊列中,由於大數據導入到MySQL中,與Laravel 5.3。

另一件事是,我想,這是不是在這裏溢出PHP是一個好主意,但是,我已經改變了php.ini中的內存爲512MB。

由於Redis的作爲的性質,按我的理解,FIFO的名單在這種情況下,是有辦法同時運行多個工人呢? (這可能是另一個問題,對此表示遺憾)

隨意將我推向另一個方向,因爲我願意接受任何建議。

回答

0

作爲一個隊列,Redis是非常輕量級的,我認爲大多數Laravel項目都有不平凡的隊列需求使用beanstalkd,如果您處於早期階段,這可能值得一看。您將一次從隊列中「彈出」一條消息,因此在此意義上批量大小不可配置,但您一次可以運行多個工作人員。你可以配置supervisord或者其他的工作,讓員工運行多個進程。這裏也有一些很好的建議,在此laracasts線程以及https://laracasts.com/discuss/channels/laravel/running-multiple-queue-workers它希望會給你更多的指針。

+1

感謝您的洞察,可悲的是我必須堅持使用redis。我會繼續嘗試4個流程的supervisord。無論如何,我剛剛設置了另一個redis服務器來指向prod服務器上的數據庫,所以現在我有兩臺運行redis的服務器,每臺服務器都有獨立的數據塊 –

+0

事情是我無法收穫mysql的全部潛力,與上面指出的設置,我使用MySQL的約50%的CPU –