我已经为并行任务编写了一个基于 Zend Framework 的 cron 服务,并且 ran into issues with the child threads sharing resources with the parent 。我解决了database connection issue ,但我现在经常遇到 Zend_Db_Table_Abstract
无法将表元数据保存到元数据缓存的问题。
Failed saving metadata to metadataCache
我在引导期间初始化元数据缓存。我认为最好使用 $application->bootstrap 调用
。Bootstrap->_init[...]
函数,而不是从 Bootstrap 复制代码并在 fork 后执行。 ('[...]')
更新
因为 Zend_Controller_Front::getInstance()
是一个单例,使用它来获取引导实例并调用函数,这样我就会遇到与我已经解决的共享资源相同的问题。
我想以某种方式保持这种干燥,同时避免 fork 后共享资源的问题。
最佳答案
Zend_Controller_Front
Singleton 包含 Bootstrap 的一个实例
$bootstrap = Zend_Controller_Front::getInstance()->getParam('bootstrap');
$bootstrap->bootstrap('db')
关于php - 引导后访问 Zend 应用程序 Bootstrap _init 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6331081/