predis을 사용 중이며 채널에 수신 중이며 수신 중이면 60 초 후에 exaxtly 오류가 발생하여 사망합니다. 그것의 타임 아웃.Predis가 '서버에서 회선을 읽는 동안 오류가 발생했습니다.'
비슷한 문제가 논의되었습니다 here. 그것의 많은 것을 얻을 수 없었다.
predis conf 파일의 connection_timeout을 0으로 설정했지만 많은 도움이되지 않습니다.
또한 계속 작업자에게 데이터를 보내고 처리하면 작업자에게 오류가 발생하지 않습니다. 그래서 가능성이 시간 초과 어딘가에, 그리고 너무 연결합니다.
여기에 내 코드 단편이 있습니다. 오류가 발생합니다. 작업자에게 데이터가 주어지면이 코드가 실행되고 이후에 오류가 발생하지 않기 때문에 오류가 발생합니다.
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
$pubsub = $redis->pubSub();
$pubsub->subscribe($channel1);
foreach ($pubsub as $message) { //doing stuff here and unsubscribing from channel
}
추적은 또한 비활성화, 너무 redis.conf 시간 초과를 검사하였습니다.
redis-cli를 사용하여 redis fine에 연결할 수 있습니까? –
예, 데이터가 처리되면 작업자가 정상적으로 작동하고 60 초 동안 오류가 발생하면 오류가 발생합니다 – amitchhajer