如何使用mysql在php中创建队列
hy 在我的脚本中,我运行一个exec()函数,用ffmpeg生成一个电影文件 问题是ffmpeg只能在服务器上运行1次 如果服务器上有两个人在线,而第一个人已经运行了ffmpeg,我希望第二个人等到第一个人结束这个过程 如何编写此代码 谢谢你对杰布斯的爱。编写一个守护进程来接收消息并处理文件。在某处设置一个锁 当ffmpeg启动时,在文件或数据库表中设置一个标志,将其标记为正在进行。每次ffmpeg启动时,让它检查标志值是否为“1”,如果是,请等待5秒或10秒后重试。然后,当进程结束时,将标志设置为“0”。请确保如果它崩溃或脚本出错,则将标志设置回“0”如何使用mysql在php中创建队列,php,mysql,queue,ffmpeg,exec,Php,Mysql,Queue,Ffmpeg,Exec,hy 在我的脚本中,我运行一个exec()函数,用ffmpeg生成一个电影文件 问题是ffmpeg只能在服务器上运行1次 如果服务器上有两个人在线,而第一个人已经运行了ffmpeg,我希望第二个人等到第一个人结束这个过程 如何编写此代码 谢谢你对杰布斯的爱。编写一个守护进程来接收消息并处理文件。在某处设置一个锁 当ffmpeg启动时,在文件或数据库表中设置一个标志,将其标记为正在进行。每次ffmpeg启动时,让它检查标志值是否为“1”,如果是,请等待5秒或10秒后重试。然后,当进程结束时,将标志
或者,您可能会以不同的用户身份运行ffmpeg进程,并同时运行多个进程。您可以使用异步队列。每个新请求都作为消息添加到队列中。您的进程一次读取一条消息并处理转换请求 对于PHP队列,您可以尝试使用或类似的方法
exec
?如果是这样,请被警告禁止,因为共享主机不希望您以这种方式使用CPU。他们需要短Http请求(在30秒内)。其余的不适用于你的主机,你应该先升级希望这能对你有所帮助。我还在用java编写一个简单的任务队列,但我还没有完全完成。希望大约一周后,我可以在github上提交我的第一个版本。我无法编译和安装librabbitmq!我无法访问根服务器如何以不同于php的用户身份运行进程?这可以工作,而且速度快,但效率不高。在共享主机上,你做这样的事情肯定会被禁止。@robert如果你在共享主机上,除非你有多个帐户,否则你很可能无法以其他用户的身份运行某些东西。@Alfred我同意这是一种快速而枯燥的解决方案,并不完全是企业级的解决方案。除非你有10个人在排队,否则我看不出他们会因为什么而禁止你。您的主机很可能会设置某种资源限制?无论如何,我认为如果你是在这一点上,最好是得到一个虚拟服务器,是的。很可能共享主机不喜欢不间断的视频编码。