プロジェクト

全般

プロフィール

Backport(バックポート) #4038

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

isao sano7年以上前に追加. 約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) {}

関連するチケット

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

関係しているリビジョン

リビジョン 2480bbb3 (差分)
sano が7年以上前に追加

add opPluginManager::createPearEnvironment() method extracted from __construct() (refs #4038, BP from #3352)

リビジョン 3fecda47 (差分)
sano が7年以上前に追加

retrieve only cached package info for opPlugin::__construct() (fixes #4038, BP from #3352)

リビジョン cb5ef2e9
kaoru n約7年前に追加

Merge pull request #384 from isaosano/t-4038

retrieve only cached package info for opPlugin::__construct() (fixes #4038, BP from #3352)

履歴

#1 isao sano7年以上前に更新

  • 関連している Bug(バグ) #3352: プラグインチャンネルサーバに接続できない場合に管理画面のプラグインリスト画面が表示できない場合がある を追加

#2 isao sano7年以上前に更新

  • ステータスNew(新規) から Accepted(着手) に変更

#3 isao sano7年以上前に更新

  • ステータスAccepted(着手) から Pending Review(レビュー待ち) に変更
  • 進捗率0 から 50 に変更

https://github.com/openpne/OpenPNE3/pull/384
にてプルリクエスト送りました。

#4 isao sano7年以上前に更新

  • 対象バージョンOpenPNE 3.6.x から OpenPNE 3.6.25 に変更

#5 kaoru n7年以上前に更新

  • 対象バージョンOpenPNE 3.6.25 から OpenPNE 3.6.x に変更

#6 Shinichi Urabe7年以上前に更新

  • 担当者isao sano から Shinichi Urabe に変更

#7 Shinichi Urabe7年以上前に更新

  • 担当者Shinichi Urabe から isao sano に変更

設定間違いました

#8 Shinichi Urabe7年以上前に更新

  • ステータスPending Review(レビュー待ち) から Pending Testing(テスト待ち) に変更
  • 進捗率50 から 70 に変更

#9 kaoru n約7年前に更新

  • 対象バージョンOpenPNE 3.6.x から OpenPNE 3.6.26 に変更

#10 isao sano約7年前に更新

  • ステータスPending Testing(テスト待ち) から Pending Merge(マージ待ち) に変更
  • 進捗率70 から 80 に変更

試験完了しました。問題ありません。

#11 kaoru n約7年前に更新

  • ステータスPending Merge(マージ待ち) から Fixed(完了) に変更
  • 進捗率80 から 100 に変更

マージしました

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