0

PHPスクリプトで外部データソースをヒットしましたが、時間がかかる場合はあきらめたいと思います。次のようなもの:

<?php

  try_for_500_ms {
    load_data_from_external_database();
  }
  catch_if_took_longer_than_500ms {
    echo 'Took too long to load data';
  }

つまり、設定した時間が経過した後、外部データのロードをあきらめて、スクリプトを続行する必要があります。そのようなものを実装する方法はありますか?前もって感謝します。

4

1 に答える 1

1

外部データソースがHTTP経由で接続されていると仮定すると、使用しているHTTPライブラリのタイムアウトオプションを設定するだけです。cURLを想定すると、次を使用します。

curl_setopt($c, CURLOPT_TIMEOUT_MS, 500);

他のAPIにも同様のオプションが必要です。

PHPにはそのような言語構造はありません。APIに類似のオプションがない場合は、プロセスをフォークし、タイムアウト後に親が子を強制終了する必要があります。

于 2012-12-10T07:10:51.570 に答える