我们刚刚遇到云主机问题 - 他们已经改变了他们的apache设置以强制缩短页面超时,现在在某些过程(报告创建等)中需要超过15秒(这是客户端很好;我们正在处理大量数据)我们收到错误:
The proxy server received an invalid response from an upstream server.
The proxy server could not handle the request POST /administrator/index.php.
Reason: Error reading from remote server
我已经确认我们的代码仍然在后台正常运行,并与主机进行了双重检查,这实际上只是一个超时。他们的建议是创建一个与后端代码相关联的进度条;就这样,阿帕知道事情还在继续,并且不会超时。
我已经完成了与页面加载事件关联的进度条(即加载所有图像时等),但不知道如何创建与后端代码关联的进度条。这是一个用mvc php编写的Joomla站点,导致问题的代码是模型的一部分 - 可能涉及的各个部分都在进行大量的查询。表格被正确编入索引并优化查询;问题不在于如何使流程花费更少的时间 - 因为我们在云服务器上,超时限制可以在明天更改为5秒而不会发出任何警告。我需要的是有人指出我如何创建进度条的正确方向,因此它实际上与模型中运行的函数相关联。
有什么想法吗?就这一点而言,我是一个完全的初学者。
答案 0 :(得分:0)
无论后台进程做什么,都应该更新类似文件或数据库条目的内容,每隔X秒或在其流程中的设置位置完成百分比。然后,您可以每隔X秒从Javascript调用另一个脚本,并返回通过数据库记录完成的百分比。
updateRecord(0);
readLargeFile();
updateRecord(25);
encodeLargeFile();
updateRecord(50);
writeLargeFile();
updateRecord(75);
celebrate();
updateRecord(100);
答案 1 :(得分:0)
我能想到的最简单的方法是使用两个步骤: