Добрый день.
Столкнулся с такой проблемой.
Есть около 15 почтовых ящиков на яндексе. Задача: осуществлять сбор новой почты с этих ящиков каждые 5 минут по протоколу imap на php.
В 40 процентах случаев процесс подключения по imap завершается с ошибкой по таймауту.
А процесс на apache так и остается висеть. Он может провисеть очень долго, а может через какое-то время завершиться.
Не могу понять, как сделать так, чтобы процесс убивался, если соединение не установлено.
Во такой вот код
$listacc = "список всех почтовых ящиков";
foreach($listacc as $acc){
if($acc['status'] == 1){
$server = $acc['server'];
$login = $acc['username'];
$password = $acc['pass'];
$user_id = $acc['user'];
$result = Message::searchPostInMail($server, $login, $password, $user_id);
if(!$result){
die();
}
}
}
die();
Даже если происходит выход из функции, процесс так и висит