プロジェクト

全般

プロフィール

Bug(バグ) #3352

完了

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

Yuya Watanabe さんが11年以上前に追加. 7年以上前に更新.

ステータス:
Won't fix(対応せず)
優先度:
High(高め)
担当者:
対象バージョン:
開始日:
2013-05-21
期日:
進捗率:

0%

予定工数:
3.6 で発生するか:
Yes (はい)
3.8 で発生するか:
Yes (はい)

説明

概要

プラグインチャンネルサーバに接続できない場合に管理画面のプラグインリスト画面(/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) {}

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

関連している OpenPNE 3 - Backport(バックポート) #4038: プラグインチャンネルサーバに接続できない場合に管理画面のプラグインリスト画面が表示できない場合があるFixed(完了)isao sano2016-11-14

操作
関連している OpenPNE 3 - Backport(バックポート) #4039: プラグインチャンネルサーバに接続できない場合に管理画面のプラグインリスト画面が表示できない場合があるFixed(完了)Youichi Kimura2016-11-14

操作

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