我正在CakePHP中构建一个网站,该网站处理通过XML-RPC API和Web前端上传的文件.文件需要由ClamAV扫描,需要生成缩略图等.所有资源密集型工作需要一些时间,用户不必等待.所以,我正在研究PHP的异步处理,特别是CakePHP.
我遇到了CakePHP 的MultiTask插件看起来很有希望.我还遇到了各种消息队列实现,例如dropr和beanstalkd.当然,我还需要某种后台进程,可能是使用某种Cake Shell实现的.我看到MultiTask使用PHP_Fork来实现多线程PHP守护进程.
我需要一些关于如何以最佳方式将所有这些部分组合在一起的建议.
我目前的计划是使用MultiTask插件或编辑它以使用beanstald而不是它自己的MySQL表实现.队列中的作业可以简单地由任务名称和参数数组组成.PHP守护程序将监视传入的作业并将其传递给其中一个子线程.只需用给定的参数执行CakePHP任务即可.
对此有何意见,建议,评论,陷阱或火焰?