我允许用户上传视频,然后使用ffmpeg进行转换。视频转换需要很长时间,这通常会导致错误。我完成了我的研究,没有运气,我应该从哪里开始。
基本上我想要做的是允许用户上传视频,然后显示一条消息,说明正在处理视频,并在可用时通知您。与此同时,我希望在幕后转换视频,并允许用户离开页面甚至关闭浏览器。我使用的是Windows服务器。
我该如何做到这一点?
答案 0 :(得分:2)
以下是如何使用Cron等调度系统创建自己的队列的基本简要说明:
queue
的数据库表(id, created_at, file_path, id_user, result, error)
。 file_path
包含要处理的已上传视频的位置,处理前结果为null
,之后结果为true/false
,具体取决于成功,如果失败error
包含任何消息。如果合适,也可以在此处保存用户表的主键。ps aux | grep (scriptname)
的输出来提供帮助。在您的网络应用程序中,您需要稍微修改工作流程 - 而不是期望立即处理视频,您需要:
此方法对于无法安装自己的队列处理器的共享主机非常有用。但是,如果您使用的是VPS或云系统,您可能希望查看Gearman或one of many other queueing systems。它们比上面的要复杂一些,但是有更多的功能来管理工作队列。