【问题标题】:PHP CURL response time bypassPHP CURL 响应时间绕过
【发布时间】:2020-04-14 18:42:57
【问题描述】:

我有一个 CURL 请求,有时,根据请求负载,由于处理和计算,需要几分钟才能从 API 接收响应。

为了良好的用户体验,不希望有这种行为。 在等待响应时,有时很长时间,用户无法在网站上执行任何功能。

所以我正在寻找解决方案,以便用户可以在此应用程序等待 API 的结果时使用该应用程序。

我已经考虑过的解决方案。

  1. 记录请求并使用 cron 作业对其进行处理。 不幸的是,这有几个陷阱。 - 需要每分钟或不断地运行一个 cron 作业。 -当前用户请求最小或API超快的情况,整个请求可能只需要2-3秒。但是,当使用 cron 并且要求我们提前 30 秒运行下一个 cron 作业时,您最终会得到 32 秒的转身结果。 所以这个解决方案可能会改善一些,也可能会恶化一些,不确定我是否真的喜欢这样。

  2. 几秒钟后中止 CURL 请求。 尽管 API 会向我选择的 url 端点发送单独的响应,并且在发布请求后终止传输似乎是安全的,但可能存在这样的情况,即那几秒钟可能甚至不足以建立与 API 的连接。我想我想说的是,通过终止 CURL,我无法知道实际请求是否通过。

我可以考虑另一种方法吗? 谢谢。

【问题讨论】:

    标签: php mysql apache curl cron


    【解决方案1】:

    听起来您要求的是异步 cURL 调用。

    Here's the curl_multi_init documentation

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-05-05
      • 2023-03-10
      • 2013-09-21
      • 2021-10-16
      • 1970-01-01
      • 2015-03-27
      • 2012-05-27
      相关资源
      最近更新 更多