我正在使用Laravel 5.1,并且有一个任务需要大约2分钟来处理,这个任务是生成报告...
现在,很明显我不能让用户在我获取用户输入的同一页等待2分钟,相反,我应该在后台处理此任务并稍后通知用户任务完成...
为了实现这一点,Laravel提供了 "Queues",它在后台运行任务(如果我没有误解的话)。对于多用户环境,即如果超过一个用户要求生成报告(例如有4个用户),那么作为名为“Queues”的功能,它是否意味着任务将一个接一个地执行(也就是当4个用户依次要求生成报告时,只有在第3个用户生成报告后,第4个用户的报告才会被生成)?
如果 "Queues" 逐个完成它们的任务,那么是否有任何方法可以立即在用户请求时在后台处理任务,并在任务完成后稍后通知用户?
现在,很明显我不能让用户在我获取用户输入的同一页等待2分钟,相反,我应该在后台处理此任务并稍后通知用户任务完成...
为了实现这一点,Laravel提供了 "Queues",它在后台运行任务(如果我没有误解的话)。对于多用户环境,即如果超过一个用户要求生成报告(例如有4个用户),那么作为名为“Queues”的功能,它是否意味着任务将一个接一个地执行(也就是当4个用户依次要求生成报告时,只有在第3个用户生成报告后,第4个用户的报告才会被生成)?
如果 "Queues" 逐个完成它们的任务,那么是否有任何方法可以立即在用户请求时在后台处理任务,并在任务完成后稍后通知用户?
laravel-worker.conf
中设置的进程数量(根据文档)。此文件可以有一个称为numprocs
的参数,该参数定义任何队列的工作程序数量或队列实例数量... - Nikhil Bhatia