Я использую predis и подписывается на канал и слушает, он выдает ошибку и умирает, как показано ниже, через 60 секунд exaxtly, это, конечно, не моя ошибка веб-сервера или его таймаут.
Существует аналогичная проблема, обсуждаемая здесь здесь. Не удалось получить много.
Я попытался установить connection_timeout в файле predis conf на 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, его также отключили.