並列タスク用の Zend Framework ベースの cron サービスを作成しましたが、子スレッドが親スレッドとリソースを共有するという問題に遭遇しました。データベース接続の問題は解決しましたがZend_Db_Table_Abstract
、テーブルのメタデータをメタデータ キャッシュに保存できないという定期的な問題が発生しています。
メタデータを metadataCache に保存できませんでした
ブートストラップ中にメタデータ キャッシュを初期化します。ブートストラップから自分のコードをコピーして fork してから実行するよりもBootstrap->_init[...]
、$application->bootstrap('[...]')
.
アップデート
はシングルトンであるためZend_Controller_Front::getInstance()
、それを使用してブートストラップ インスタンスを取得し、その方法で関数を呼び出すと、既に解決済みの共有リソースに関する同じ問題に戻ります。
フォーク後の共有リソースの問題を回避しながら、何とかこの DRY を維持したいと考えています。