私はpredisを使用しています、それはチャンネルにサブスクライブして聞いています。次のエラー(下記)をスローし、正確に60秒後に終了します。それは確かに私のウェブサーバーのエラーやそのタイムアウトではありません。
ここで議論されている同様の問題があります。それの多くを得ることができませんでした。
predis confファイルのconnection_timeoutを0に設定しようとしましたが、あまり役に立ちません。
また、ワーカーを使い続ける(データを送信して処理する)場合、エラーは発生しません。したがって、どこかでタイムアウトになる可能性があり、それも関連しています。
これが私のコードスニペットです。これはエラーが発生する可能性があります。データがワーカーに渡されると、このコードが実行されて先に進み、その後はエラーが発生しないためです。
$pubsub = $redis->pubSub();
$pubsub->subscribe($channel1);
foreach ($pubsub as $message) { //doing stuff here and unsubscribing from channel
}
痕跡
PHP Fatal error: Uncaught exception 'Predis\Network\ConnectionException' with message 'Error while reading line from the server' in Predis/Network/ConnectionBase.php:159 Stack trace:
#0 library/vendor/predis/lib/Predis/Network/StreamConnection.php(195): Predis\Network\ConnectionBase->onConnectionError('Error while rea...')
#1 library/vendor/predis/lib/Predis/PubSub/PubSubContext.php(259): Predis\Network\StreamConnection->read()
#2 library/vendor/predis/lib/Predis/PubSub/PubSubContext.php(206): Predis\PubSub\PubSubContext->getValue()
#3 pdf/file.php(16): Predis\PubSub\PubSubContext->current()
#4 {main} thrown in Predis/Network/ConnectionBase.php on line 159
redis.confのタイムアウトもチェックしました。これも無効になっています。