异步运行laravel队列

时间:2016-06-20 07:59:26

标签: php laravel queue beanstalkd

如何制作laravel队列:尽可能多地处理作业?(使用redis或beanstalkd)
默认情况下,它同时处理1个作业,但我需要它同时运行多个作业,直到CPU有可用空间。
感谢任何帮助。

2 个答案:

答案 0 :(得分:1)

这取决于您如何运行worker,以及如何增加从队列中获取项目并运行它们的工作者数量。

如果您使用supervisord来运行工作程序,则可以像在配置中增加numprocs一样简单。

您通常不会将其设置为非常大的数字,因为当内存或CPU耗尽时,尝试一次运行太多进程可能会成为一个主要问题。

答案 1 :(得分:0)

看看这个听众。最好的是它根据队列中有多少负载来运行工作程序,并且配置非常简单。因此,当你需要更多的工人时,因为它会自动产生工人,新的工人会处理任务...如果不需要更多的工人,因为之前产生的工人被杀,所以最少只会消耗一些工人来自PC的资源。您可以根据需要和服务器功能进行调整。

https://github.com/smaugho/TunedQueue