告诉浏览器我已经完成了,但继续加载数据

时间:2010-07-19 23:48:54

标签: php flash http

我有一个通过Flash访问的php api。它抓取一些闪存内容,然后做一些簿记。问题是,簿记可能需要几秒钟,并且在Flash应用程序加载所有内容之前,可以以相同的方式访问php api 10-500次。

感觉我正在使用flash访问它,AJAX不是一个选项。我希望能够告诉flash URL Loader页面在预订之前已完成加载,但我仍然需要保留书籍。怎么能实现这一目标?或者可以吗?

1 个答案:

答案 0 :(得分:2)

这听起来像是你想要使用后台处理来完成繁重工作的情况。即使您可以完成将您的请求发送到浏览器,如果您继续进行更多处理,您将占用无法为另一个请求提供服务的php线程。如果您有多个请求,您将很快遇到“簿记”步骤的瓶颈。

拥有一个将数据推入的队列,并让后台进程使用队列中的项目,依次处理每个项目。这样,您可以快速为服务器提供服务请求,并推迟处理以便以后处理。

对于队列系统,您可以使用像rabbitmq或其他更简单的排队机制(可能是数据库表)之类的东西。可能有一千种方法来处理这种离线处理。

主要的是推迟处理任何需要一段时间的事情,并等待以后处理。