0

我创建了一个 PHP 脚本,将用户通过 FTP 上传的 WAV 文件移动到临时目录。我在通过 exec 访问 lame.exe 时遇到问题,因此决定只在我的 VPS 上本地运行它,并将源文件名和目标名存储在一个表中(对于这个名为 cronmp3 的示例)。

我不知道下一步该去哪里。我在 mysql 表中准备好文件队列,但不知道如何调用它们并处理它们,或者在转换后移动文件的 cron 文件中放入什么不是问题,我能够做到这一点。

4

1 回答 1

0

老实说,mysql 不适合队列。我建议将Redis添加到您的堆栈中。在使用 Predis 的 php 中:

// 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
于 2013-07-17T13:59:14.953 回答