Sto usando predis e il suo abbonamento a un canale e l'ascolto, genera l'errore e muore, mostrato di seguito, dopo 60 secondi in modo esatto, non è sicuramente il mio errore del server web o il suo timeout."Errore durante la lettura della linea dal server"
C'è un problema simile in discussione here. Non ce l'ha fatta
Ho provato a impostare connection_timeout nel file predis conf su 0, ma non aiuta molto.
Anche se continuo a utilizzare (inviare dati ad esso e elabora) l'operatore non dà alcun errore. Quindi è probabilmente un timeout da qualche parte, e anche questo in connessione.
Ecco il mio frammento di codice, che probabilmente genera errore, perché se i dati vengono dati al lavoratore, esegue questo codice e va avanti, il che non produce alcun errore.
$pubsub = $redis->pubSub();
$pubsub->subscribe($channel1);
foreach ($pubsub as $message) { //doing stuff here and unsubscribing from channel
}
Trace
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
Controllato il timeout redis.conf troppo, la sua anche disabilitato.
puoi collegarti a redis fine usando redis-cli? –
sì, anche il lavoratore sta funzionando bene se i dati vengono elaborati, se rimane per 60 sec, muore e dà l'errore – amitchhajer