【问题标题】:How do I run multiple SOAP calls simultaneously如何同时运行多个 SOAP 调用
【发布时间】:2013-12-05 02:26:23
【问题描述】:

我的 PHP 应用程序中有多个 SOAP 请求,它们被发送到不同的服务器。我希望在相似的时间在目标服务器上接收这两个请求(假设目标服务器具有相同的延迟)。我还想在每次调用返回给我后立即处理结果,而不必等待两个响应。

目前我有以下内容:

$firstServerResponse = $mySoapClient->getPrice($priceRequest); 
$secondServerResponse = $mySecondSoapClient->getPrice($priceRequest); 

//Processing of results

在这种情况下,只有在收到第一个响应时才会执行对第二个 SOAP 服务器的调用,以及对结果的后续处理。

是否可以在 PHP 中设置回调函数,这样我就不需要等待两个响应就可以处理它们各自的结果了?

【问题讨论】:

  • SOAP 调用频率很高,因此目前可能的解决方案是两个 CRON 作业,它们将同时运行两个 PHP 脚本,每个运行不同的 SOAP 调用并将结果写入数据库。可以执行第三个脚本来处理来自数据库的最后一组结果。有更好的建议吗?

标签: php multithreading soap


【解决方案1】:

您可以使用 线程 。查看文档:http://php.net/manual/en/book.pthreads.php

【讨论】:

  • 此答案未描述与该问题相关的任何内容。它也可能难以安装,因为它需要一个线程安全的 PHP 版本,以及安装 PECL 扩展的能力。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2021-11-01
  • 2020-04-23
  • 1970-01-01
  • 2022-01-07
  • 1970-01-01
  • 2022-01-24
  • 2018-06-06
相关资源
最近更新 更多