我正在编写一个脚本,允许用户从远程存储库下载vm-images。图像必须从远程存储库(a)下载到本地服务器(b),然后用户可以通过URL链接从该本地服务器(b)下载图像。这是通过对带有url端点的api进行php exec调用来实现的。
我遇到的问题是,从" a"转移图像可能需要一段时间。机器到" b"机。有没有办法在后台执行下载过程。图像传输完成后,用户会收到一封包含文件链接的电子邮件吗?
否则,只要max_execution_time设置允许,用户就会坐在旋转页面上。
我正在寻找at this site for reference,但这并不是非常有用。
编辑:我正在使用LAMP设置
答案 0 :(得分:0)
Beanstalkd是一个守护程序,用于异步处理正在运行的作业,以便在等待任务完成时不会让用户处于挂起状态。它是用Ruby编写的(我认为),但是有许多客户端库可以与它进行交互。
Pheanstalk是用于与Beanstalkd集成的PHP库。您可以定义Job
类,然后使用此API提交这些作业以进行处理。
大多数主要框架都支持这样的事情。
答案 1 :(得分:0)
您可能想要考虑通过beanstalk启动worker。
http://kr.github.io/beanstalkd/
您发送的邮件包含下载链接和要发送的电子邮件。发送邮件时,可以按需启动工作人员,并自动开始下载。下载完成后,您的工作人员将触发该电子邮件。
允许您与beanstalk接口的PHP库可以在这里找到: