操作
Backport(バックポート) #4038
完了プラグインチャンネルサーバに接続できない場合に管理画面のプラグインリスト画面が表示できない場合がある
開始日:
2016-11-14
期日:
進捗率:
100%
予定工数:
説明
概要¶
プラグインチャンネルサーバに接続できない場合に管理画面のプラグインリスト画面(/pc_backend.php/plugin/list)が表示できない場合がある.
具体的には,インストールしているプラグインが多い状態で plugins.openpne.jp に接続できない場合に実行時間が大きくなり,設定によっては画面がレンダリングされない.
原因¶
プラグインリスト画面(/pc_backend.php/plugin/list)を表示する際,コード部としては下記部分を通るが,それぞれのプラグインについてインスタンスを生成しようとする.このとき,各生成プロセスでは registerChannel() を呼び出しており,ここで数秒ほどブロックされ,例外を握りつぶした後処理を終了して次のインスタンス生成処理に移る.このプロセスが全プラグインに対して行われるため,全体として実行時間が大きくなって表示が遅くなり,数が多い場合には表示されない.
lib/plugin/opInstalledPluginManager.class.php 67 public function getInstalledPlugins() 68 { 69 $result = array(); 70 71 $plugins = sfContext::getInstance()->getConfiguration()->getAllOpenPNEPlugins(); 72 foreach ($plugins as $pluginName) 73 { 74 $result[$pluginName] = $this->getPluginInstance($pluginName); 75 } 76 77 return $result; 78 }
lib/plugin/opPluginManager.class.php 50 try 51 { 52 $environment->registerChannel($this->channel, true); 53 } 54 catch (sfPluginException $e) {}
isao sano さんが約8年前に更新
- 関連している Bug(バグ) #3352: プラグインチャンネルサーバに接続できない場合に管理画面のプラグインリスト画面が表示できない場合がある を追加
isao sano さんが約8年前に更新
- ステータス を Accepted(着手) から Pending Review(レビュー待ち) に変更
- 進捗率 を 0 から 50 に変更
https://github.com/openpne/OpenPNE3/pull/384
にてプルリクエスト送りました。
Shinichi Urabe さんがほぼ8年前に更新
- ステータス を Pending Review(レビュー待ち) から Pending Testing(テスト待ち) に変更
- 進捗率 を 50 から 70 に変更
操作