外部サーバーからデータを取得するスクリプトを作成しました。サーバーがダウンした場合、サーバーがデータを待機することは望ましくありません。これは、大量のデータを処理し、サーバーが停止することを望まないためです。これに対処するために、curl 呼び出しに数百ミリ秒以上かかる場合は、それらをタイムアウトにしようとしています。
CURLOPT_TIMEOUT_MS と CURLOPT_CONNECTTIMEOUT_MS は私のバージョンの php と libcurl で利用できるはずだというドキュメントを見つけましたが、タイムアウトを 1ms に設定してもタイムアウトしていないようです。
$url = "http://www.cnn.com;
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_HEADER,0); //Change this to a 1 to return headers
curl_setopt($ch, CURLOPT_USERAGENT, $_SERVER['HTTP_USER_AGENT']);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_TIMEOUT_MS, 1);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT_MS, 1);
$data = curl_exec($ch);
curl_close($ch);
私たちが間違っていることや、これを行う別の方法を知っている人はいますか?