【发布时间】:2015-02-16 16:35:59
【问题描述】:
我目前正在重写一个文件上传器。当前存在的不同数据类型的解析脚本是 perl 脚本。程序是用php编写的。目前的方式是它只允许单个文件上传,一旦文件在服务器上,它将调用 perl 脚本以获取上传文件的数据类型。我们有超过 20 种数据类型。
到目前为止,我所做的是编写一个允许多个文件上传的新系统。它将首先让您在上传之前验证您的属性,使用 zipjs 压缩它们,上传压缩文件,在服务器上解压缩,为每个文件调用解析器。
我在我需要为每个文件说的部分,将解析器调用放入队列中。我不能一次运行多个解析器。粗略的草图如下。
for each file
$job = "exec('location/to/file/parser.pl file');";
// using the pheanstalkd library
$this->pheanstalk->useTube('testtube')->put($job);
根据文件的不同,解析可能需要 2 分钟或 20 分钟。当我将作业放入队列时,我需要确保 file2 的解析器在 file1 的解析器完成后触发。我怎样才能做到这一点?谢谢
【问题讨论】:
标签: php file-upload queue beanstalkd