我目前将进程提交给class.php页面进行一些计算,然后将这些计算结果写入MySql数据库以供用户使用。 根据客户端的互联网速度,计算会花费很长时间,并且用户正在等待其完成。 有没有一种方法可以提交流程,并允许用户在后台完成的同时继续浏览。
该计算仅需每周提交一次
我有 rank.php
在其中$ ranklist = $ admin-> do_ranking()
然后在admin.class内部
function do-ranking(){
计算 } 返回$ rank }
答案 0 :(得分:0)
有两种广泛的传播策略:
您可以立即发送响应(无论是否为空),并将要计算的任务转发到后台任务。为此,有几种选择,要么基于cron任务,即定期检查要计算的等待作业。因此,我们正在谈论一个简单的作业计划程序,您将找到简单的示例。或者,您可以生成系统进程并从中分离。如何完全取决于您使用的操作系统,例如在Linux上,您可以将进程推入后台,从而立即返回到生成的php脚本。
这无疑是一种更为优雅的方法:您根本不需要进行整页重新加载(通过发送表单表单示例),而是使用一些简单的客户端逻辑(阅读:javascript)发送数据(或空请求) )通过ajax请求。这意味着加载到浏览器中的页面根本不会卸载,并且用户可以执行他喜欢的任何操作。