0

在这里,

在用户注册时,我从 3rd 方服务导入大量信息,

但问题是该页面需要大量加载,有没有办法在后台运行这个“导入”过程?(因此用户不必等待太多时间来查看页面,并且可能在下次刷新时完成导入)

谢谢

4

2 回答 2

1

您需要将注册过程分解为两个步骤:一个无需等待导入完成即可加载的轻量级页面,以及另一个执行繁重工作的脚本。第一个将使用 AJAX 触发第二个。最终结果将是“正在处理您的注册”页面,该页面会在工作脚本完成时适当更新。

您应该小心ignore_user_abort在工作脚本的开头调用,以便如果用户在等待页面上关闭浏览器窗口,注册过程不会中止。

于 2012-05-24T07:20:51.993 回答
0

您必须设置一个 cron 作业(如果您正在运行 Linux),该作业执行 curl 命令以访问 PHP 脚本(外部,如 'curl http://domain.com/php/something.php ')或仅执行 php指向内部文件的命令。

您可以创建一个每分钟执行一次的调度程序(这是 cron 作业支持的最短执行时间)并执行您工作的“块”。当然,您必须将 PHP 设置为跳过默认使用的 30 秒执行限制。

于 2012-05-24T07:35:38.003 回答