使用wp_remote_post添加重试条件

时间:2014-03-24 10:02:17

标签: php wordpress-plugin wordpress

我使用以下代码发布到API

$post_response = wp_remote_post(
  $url,
  array(
    "method" => "POST",
    "timeout" => 45,
    "headers" =>  $headers, 
    "body" => $jsonData,
    "sslverify" => false
  )
);

这里我添加了45秒的超时,因为有时API需要很长时间才能将输出返回给服务器。

任何人都可以告诉我另一种添加重试条件的方法来发送帖子,这样如果api需要太长时间才能发回输出,那么我也应该能够跟踪这些响应。

1 个答案:

答案 0 :(得分:0)

你可以使用;

while(1) {
    $post_response = wp_remote_post(
      $url,
      array(
        "method" => "POST",
        "timeout" => 45,
        "headers" =>  $headers, 
        "body" => $jsonData,
        "sslverify" => false
      )
    );
    if (!empty($post_response) && $post_response["response"]["code"] == 200) {
        break;
    }
    echo "Post request failed: " .  $post_response["response"]["message"];
}