2011-12-16 13 views
1

私はテストをしているときに私のローカルマシンに問題があります。 PHPコードがアクセスしようとしているmemcachedサーバーのプールがあります。つまり、これらはプライベートIPなので、ローカルボックスのコードにはアクセスできません。getDelayed()にPHP Memcached Hanging()

私が抱えている問題は、getDelayed()コールがローカル接続を待って8秒間ハングすることです。タイムアウト期間を調整する場所はありますか?

戻ってくる前に接続を待つ必要があるのはなぜですか?私の理解は、getDelayed()は非同期呼び出しであるはずだったが、制御がタイムアウトするまで関数から戻ってくるわけではないということでした。その上から、私のコメントを再投稿

+0

私は変更するために必要なオプションを発見しました。それはOPT_CONNECT_TIMEOUTでした 私はそれを10に変更しましたが、実際の使用には低すぎるかどうかを私たちのプライベートネットワーク上でテストする必要があります。しかし、私の開発ボックスで問題を修正しました。 self :: $ memcache-> setOption(Memcached :: OPT_CONNECT_TIMEOUT、10); –

+0

あなたは答えを投稿して承認することができます:) –

+0

私はそれを投稿してから8時間以内に私自身の質問に答えるには十分な評判がないと言います。 –

答えて

0

答えとして、私はこのポストをマークすることができます。

は私が変更するのに必要なオプションを発見しました。それはOPT_CONNECT_TIMEOUTでした。私は10に変更しましたが、実際の使用には低すぎるかどうかを私たちのプライベートネットワーク上でテストする必要があります。しかし、私の開発ボックスで問題を修正しました。

self::$memcache->setOption(Memcached::OPT_CONNECT_TIMEOUT, 10);