使用PHP在后台异步上传文件的最佳方法是什么?

时间:2015-01-06 08:33:55

标签: php laravel asynchronous beanstalkd

在我的应用中,用户将上传文件(小型和大型)。我喜欢在S3或FTP或任何其他存储服务中存储文件。

我的计划是将带有AJAX(带进度条)的客户端文件上传到我的PHP服务器,然后将它们在后台传输到目标存储。我想以异步方式(在后台)完成最后一部分。在将文件从我的服务器上传到存储之后,我还需要完成一些任务(如数据库更新和清理)。

我以前的方法是使用 nohup (类似于:How can I use nohup to run process as a background process in linux?),但它有一些缺点,我不鼓励使用它。

我正在使用Laravel,所以我正在考虑使用beanstalkd排队。我知道队列很适合发送电子邮件,图像处理和类似的东西,但我以前从未使用它,所以我不知道它是否适合上传后台文件。这是好方法吗?或者有更好的方法可以做到这一点?

1 个答案:

答案 0 :(得分:0)

您可以尝试使用Dispatcher。看看这里:

https://github.com/Indatus/dispatcher

来自网站:“Dispatcher是一个Laravel工匠命令调度工具,用于在项目中安排工匠命令,因此在部署时无需触摸您的crontab。”