首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >创建服务器处理队列

创建服务器处理队列
EN

Stack Overflow用户
提问于 2011-04-27 05:05:15
回答 1查看 230关注 0票数 0

我甚至不确定如何问这个问题,因为这是一个总体的概念性问题,但我想我应该试一试。

我正在尝试创建一个概念上类似于Vimeo等许多视频托管网站的流程。以Vimeo为例,用户将视频上传到主服务器,视频被添加到处理队列,并且用户可以在视频处理期间自由地执行其他操作。一段时间后,用户收到一封电子邮件,告知处理已完成,现在可以访问视频,用户可以对其执行任何操作。

我的问题是,像这样的系统是如何工作的?我的经验主要是使用PHP,其中所有处理都直接绑定到页面中的代码(或通过includes)。当用户导航离开页面时,您如何处理这样的处理?

这是我的猜测。请纠正我。用户提交的页面通过某种API Hook将他们的文件添加到处理软件队列中。处理器可能是用其他语言编写的,比如C或Java或其他语言,完成后,它会触发对某个PHP页面的调用,然后向用户发送一封电子邮件,并对视频执行所需的任何操作。

我想我只是想了解一些大网站的“黑匣子”是如何工作的,至少在概念上是这样。有人能帮我吗?对不起,这是一个如此大的,模糊的问题。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-04-27 05:10:48

你的问题的一个解决方案是启动一个新的进程fork,它处理视频处理和向用户发送邮件,然后主进程照常继续。这将防止主进程停止并强制用户等待处理完成。

您可以在php中阅读有关创建进程分支的信息:http://php.net/manual/en/book.pcntl.php

然后还有一些处理视频处理的应用程序,比如ffmpeg:http://www.ffmpeg.org/

您不必使用新的编程语言,只需使用exec函数:http://php.net/manual/en/function.exec.php执行一个cli应用程序,比如ffmpeg

您需要找出一种将进程排入队列的方法,以便服务器不会过载。也许需要一些功能来检查数据库中的活动进程,并等待到表中的活动进程少于允许的活动进程为止。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5796444

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档