2017-08-17 205 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 –