Redis соединение внутри бесконечного цикла
Я создаю соединение Redis с помощью клиента phpredis
$redis = new Redis();
$redis->pconnect(loclahost, 6336, 2) ;
$redis->select(15);
Теперь я использовал объект $redis внутри бесконечного цикла.
while(true){
///using redis connection object.
}
Около 54 таких отдельных процессов были запущены, но один или два раза в день я получаю сообщение об ошибке типа "ошибка чтения при подключении".
Пожалуйста, помогите мне исправить это.
1 ответ
Решение
Я думаю, что-то вроде этого будет работать. ПРИМЕЧАНИЕ. Я не проверял это и не писал PHP довольно долгое время.
function redisConnection() {
try {
$redis = new Redis()
$redis->pconnect(localhost, 6336, 2);
$redis->select(15);
$redis->ping();
return $redis;
} catch (Exception $e) {
throw new Exception("Can not connect: " . $e->getMessage());
}
}
$redis = redisConnection();
while (true) {
try {
$redis->ping();
} catch {
$redis = redisConnection();
}
// Rest of code
}