php – 将大文件上传到服务器(非阻塞)

所以我正在开发一个需要与4d应用程序通信的php应用程序. 4d应用程序使用SOAP Web服务进行外部通信.

SOAP Web服务具有将文件上载到4d应用程序的功能.
由于4d应用程序的Web服务的文件上传功能的破坏性,我们已经实现了一个进度条以将文件上载到Web服务器,然后在成功之后尝试将文件发送到4d应用程序服务器.
但是对于客户端来说这不太好,因为这个人需要等待初始文件上传到服务器,然后再次执行文件上传功能以将文件从Web服务器传输到4d应用程序的服务器.

我的问题是,
有没有办法以非阻塞的方式处理文件上传?甚至可能一起绕过SOAP功能.

更新:
我想也许可以使用像RabbitMQ这样的东西来排队每个文件上传项目,然后使用脚本或者与应用程序分离的东西进行处理,这样它就不会阻止应用程序.

最佳答案 您建议的解决方案将是解决问题的正确方法;使用
HTML5文件上传或swfupload接受通过常规Web应用程序上传,以允许显示上传进度条,然后将其存储在本地并排队工人稍后处理的Gearman或RabbitMQ任务.

工作人员将在本地获取文件并将其上载到远程服务(4d / SOAP),然后在完成时在数据库中设置正确的状态,以便用户知道文件何时被处理并添加到实际服务器.

点赞