Вот проблемаКак лечить Database_Exception с Kohana 3 ORM
Существует скрипт, который после X количества времени (неизвестное количество от 5 до 40 минут) выдает следующее сообщение об ошибке: сервера MySQL уже ушел, который Кохана превращается в Database_Exception 2006 В результате некоторая информация не сохраняется в БД.
Вот что я думаю, что мог бы работать
class Model_Bar extends ORM {
protected $_belongs_to = array(
'foo' => array()
);
public function save(){ //Extends the save method
try {
$result = parent::save(); //Try parent save
} catch (Database_Exception $e) { //Catch exception
if ($e->getCode() == 2006) { //If exception code == 2006 then DB has gone away
mysqli_ping(); //Try to refresh DB link
$result = parent::save(); //Try parent save again
} else { //Exception code != 2006
throw new Exception($e); //Throw new DB exception
}
}
return $result; // Return the result from parent::save()
}
}
Вопрос: Как я могу обновить ссылку на БД в ORM Kohana в?
Дополнительная информация:
- Использование Kohana 3.0.8
- Possible solution (я не знаю, как попробовать его в Kohana)
Спасибо!
Можете ли вы не просто повторно подключиться после долгого процесса, а до вашего сохранения? – Petah
Не проблема ORM - это вопрос, касающийся аппликации. ORM не имеет особого значения. – TomTom
@Petah, Это именно то, что я хочу сделать. Вот почему я расширил метод сохранения. Дело в том, что я не могу найти способ сделать это. –