我正在用Laravel (v9)构建一个应用程序,用户上传视频,这些视频被转换成MP4 (显示进度百分比),缩略图被创建为…等
上传视频后,我在后台分派一个新作业,运行我的所有FFMPEG命令,并在FFMPEG完成后将视频标记为数据库中的ready。
但是,如果有多个用户上传多个视频,这就让他们等待,因为Laravel的队列一个接一个地执行每个任务。
我怎样才能使视频立即转换,而不等待上一项工作完成?
发布于 2022-02-23 20:15:47
您可能总是希望使用队列,但是可以考虑增加在任何给定时间运行的队列工作人员的数量。查看一下Laravel通过主管运行队列的文档,并考虑将numprocs值设置得足够高,以支持您需要处理的并发负载。
请注意,每个队列工作人员都需要CPU/内存,所以如果您将并发工作人员的数量设置得太高,它可能会超出服务器的容量。
您可以使用本文讨论php-fpm调优。来帮助计算您的服务器容量需求。本文的重点是优化web服务器,但您可以使用相同的技术来确定队列工作人员正在使用的内存数量,并由此确定您可以同时合理地运行多少工作人员。
https://stackoverflow.com/questions/71236860
复制相似问题