我创建了一个PHP脚本,用于将用户通过FTP上传的WAV文件移动到临时目录。我在通过exec访问时运行lame.exe时遇到问题所以决定在我的VPS上本地运行它并将源文件名和目标名称存储在一个表中(对于这个名为cronmp3的例子)。
我被困在下一步去哪里。我有在mysql表中准备好文件的队列,但我不知道如何调用它们并处理它们,或者在转换后移动文件的cron文件放入什么不是问题,我能够做到这一点。
答案 0 :(得分:0)
老实说,mysql并不适合队列。我建议您在堆栈中添加Redis。在php中使用Predis:
// when the file is uploaded
// add whatever to mysql
// $mysqli->...
// connect to redis
$redis = new Predis\Client();
// add $file to the encodequeue
$redis->call('lpush', 'encodequeue', $file);
然后在你的cronjob中:
#!/bin/bash
file=`redis-cli lpop encodequeue`
lame $file -options > output... whatever