如何制作laravel队列:尽可能多地处理作业?(使用redis或beanstalkd)
默认情况下,它同时处理1个作业,但我需要它同时运行多个作业,直到CPU有可用空间。
感谢任何帮助。
答案 0 :(得分:1)
这取决于您如何运行worker,以及如何增加从队列中获取项目并运行它们的工作者数量。
如果您使用supervisord
来运行工作程序,则可以像在配置中增加numprocs
一样简单。
您通常不会将其设置为非常大的数字,因为当内存或CPU耗尽时,尝试一次运行太多进程可能会成为一个主要问题。
答案 1 :(得分:0)
看看这个听众。最好的是它根据队列中有多少负载来运行工作程序,并且配置非常简单。因此,当你需要更多的工人时,因为它会自动产生工人,新的工人会处理任务...如果不需要更多的工人,因为之前产生的工人被杀,所以最少只会消耗一些工人来自PC的资源。您可以根据需要和服务器功能进行调整。