我正在尝试使用Laravel(4.1)中的Queue系统。一切都按预期工作,包括Redis(带有本机驱动程序)和RabbitMQ。 唯一的问题"我遇到的是表现不佳。看起来每秒只能处理4个作业(我在队列中推送1000个作业来测试它)。你有什么提示可以提高性能吗?
答案 0 :(得分:4)
这是一个古老的问题,但我还是认为我会发帖。问题是Laravel的默认监听器并不是真正的队列消费者,它会定期轮询队列,除非它已经忙于工作。使用真正的AMQP需要从pecl安装一些额外的库。您可以找到该插件here。我还建议你使用这个作曲家包[{3}}。然后,您需要编写Laravel命令。
目前我正在为Laravel编写一个RabbitMQ处理程序来解决这个问题。
答案 1 :(得分:2)
老问题,但对于来到这里的任何人来说,queue:work命令都有一个守护进程模式,就像queue:listen一样运行,除了它不必每次都重启/重新加载Laravel,使其更高效。请参阅文档: