4

我目前正在使用一个非常慢的 API,在许多情况下,网站用户必须等待这些 API 完成。例如,当发送联系表格并通过 API 发送信息时。

现在,我想知道如何加快 API 调用速度,至少对于用户而言?可以吗,对单独的 PHP 文件进行异步 AJAX 调用并从那里进行 API 调用?如果是这样,如果用户关闭页面,而 API 调用仍在运行,会发生什么情况?他可能会想,一切都已经发送了。

4

2 回答 2

5

可以吗,对单独的 PHP 文件进行异步 AJAX 调用并从那里进行 API 调用?

当然是; 那将是最好的方法。

如果是这样,如果用户关闭页面,而 API 调用仍在运行,会发生什么情况?他可能会想,一切都已经发送了。

它可能已发送;运行 API 调用的 PHP 脚本继续以愉快的方式进行,只有当它尝试发回响应(可能是确认或错误)时,它才发现客户端消失了。如果 API 调用最终生成了一封电子邮件,无论用户是否等待,它都会完成(除非 API 调用本身有错误)。

于 2012-09-14T03:42:21.380 回答
0

如果您有能力运行 cron 或计划任务,我会将其转换为离线进程。例如,将数据库保存在本地数据库中并立即返回。然后编写一个脚本,该脚本将通过 cron 定期运行以处理新条目。

我在博客上写过一篇关于这个的文章,它几乎描述了这个确切的过程:使用 PHP 构建一个可扩展的队列系统

于 2012-09-14T03:46:52.677 回答