[英]How can I create a progress bar attached to a server-side process?
我们只是遇到了与我们的云主机有关的问题-他们更改了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
我已经确认我们的代码仍在后台正确运行,并与主机进行了双重检查,这实际上只是一个超时。 他们的建议是创建一个与后端代码关联的进度条。 这样,apache知道事情还在继续,不会超时。
我已经完成了与页面加载事件相关的进度条(即,当加载所有图像时等),但是不知道如何创建与后端代码相关联的进度条。 这是一个用mvc php编码的Joomla网站,导致问题的代码是模型的一部分-可能涉及的各个部分都在进行庞大的查询。 正确索引了表并优化了查询; 问题不在于如何使流程花费的时间更少-因为我们在云服务器上,明天的超时限制可能会更改为5秒,而不会发出任何警告。 我需要的是有人指出正确的方向来创建进度条,以便它实际上与模型中运行的功能相关联。
有任何想法吗? 就此而言,我是一个完整的初学者。
无论后台进程执行什么操作,都应更新文件或数据库条目之类的内容,并每隔X秒或在其流程中的固定位置完成一个百分比。 然后,您可以每隔X秒从Javascript调用另一个脚本,它通过数据库记录返回完成的百分比。
updateRecord(0);
readLargeFile();
updateRecord(25);
encodeLargeFile();
updateRecord(50);
writeLargeFile();
updateRecord(75);
celebrate();
updateRecord(100);
我能想到的最简单的方法是使用两步过程:
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.