プロジェクト

全般

プロフィール

Backport(バックポート) #4039

完了

プラグインチャンネルサーバに接続できない場合に管理画面のプラグインリスト画面が表示できない場合がある

isao sano さんが約8年前に追加. 7年以上前に更新.

ステータス:
Fixed(完了)
優先度:
High(高め)
担当者:
対象バージョン:
開始日:
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) {}

関連するチケット 1 (0件未完了1件完了)

関連している OpenPNE 3 - Bug(バグ) #3352: プラグインチャンネルサーバに接続できない場合に管理画面のプラグインリスト画面が表示できない場合があるWon't fix(対応せず)Youichi Kimura2013-05-21

操作

他の形式にエクスポート: Atom PDF