后台处理视频上传,什么是PHP的熟练方式?

发布时间:2022-04-30 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了后台处理视频上传,什么是PHP的熟练方式?脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在开发一个视频上传网站,我遇到了两难:上传的视频需要转换为FLV格式才能显示给访问者但是,如果我在脚本中执行命令,脚本将会挂起FFMPEG转换视频10-15分钟.

我有一个想法是在数据库中插入一条记录,指示需要处理的文件,然后使用cron作业设置为每5分钟从数据库中选择需要处理的记录,处理它们,然后更新数据库显示他们已被处理.我担心这个问题是执行了太多的进程,服务器在紧张的情况下崩溃了,所以有没有人得到任何解决方案或更好地改进我想到的过程?

好的,现在这就是我的想法,因此用户上传视频,并在数据库中插入一行,表明需要处理视频.设置为每5分钟的一个cron作业会检查需要处理的内容和正在处理的内容,比如我一次最多可以创建五个进程,因此脚本会检查是否需要处理任何视频以及需要处理多少视频正在处理,如果小于5,它会更新记录,表明它正在处理中,一旦视频处理完毕,它就会更新记录,表明它已被处理,cron作业再次启动,有什么想法吗?

解决方法

如果您期望大量流量,您应该认真考虑专用服务器.

在单个服务器上,您可以使用shell_exec和UNIX nohup命令来获取进程的PID.

function run_in_background($Command,$PRiorITy = 0)
   {
       if($Priority)
           $PID = shell_exec("nohup nice -n $Priority $Command 2> /dev/null & echo $!");
       else
           $PID = shell_exec("nohup $Command 2> /dev/null & echo $!");
       return($PID);
   }
   function is_process_running($PID)
   {
       exec("ps $PID",$Processstate);
       return(count($ProcessState) >= 2);
   }

这种技的完整描述如下:http://nsaunders.wordpress.com/2007/01/12/running-a-background-process-in-php/

您可以将PID列表放在MysqL表中,然后每5分钟使用一次cron作业来检测视频何时完成并更新数据库中的相关值.

脚本宝典总结

以上是脚本宝典为你收集整理的后台处理视频上传,什么是PHP的熟练方式?全部内容,希望文章能够帮你解决后台处理视频上传,什么是PHP的熟练方式?所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。