/** * Reset DB connections for preventing "SQLSTATE[HY000]: General error: 2006 MySQL server has gone away" * * @return $this */ protected function _resetDbConnections() { Mage::unregister('_singleton/core/resource'); return $this; }
понедельник, 15 декабря 2014 г.
Magento: Как очистить DB Connections при форке процесса
На данный момент работаю над интеграцией Gearman в Magento. Для создания child-процессов использую PCNTL PHP extension. Все шло гладко, но при тестировании я столкнулся с ошибкой "SQLSTATE[HY000]: General error: 2006 MySQL server has gone away". Проблема в том что при инициализации Magento приложения DB connections кешируются в Mage_Core_Model_Resource::$_connections и будут использоваться для всех форков родительского скрипта. Решение проблемы очень простое –– в дочернем скрипте необходимо удалить 'core/resource' из реестра:
Подписаться на:
Комментарии к сообщению (Atom)
Комментариев нет:
Отправить комментарий