Project

General

Profile

Backport(バックポート) #4038

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

Added by isao sano almost 3 years ago. Updated over 2 years ago.

Status:
Fixed(完了)
Priority:
High(高め)
Assignee:
Target version:
Start date:
2016-11-14
Due date:
% Done:

100%


Description

概要

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

Related issues

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

Associated revisions

Revision 2480bbb3 (diff)
Added by sano almost 3 years ago

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

Revision 3fecda47 (diff)
Added by sano almost 3 years ago

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

Revision cb5ef2e9
Added by kaoru n over 2 years ago

Merge pull request #384 from isaosano/t-4038

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

History

#1 Updated by isao sano almost 3 years ago

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

#2 Updated by isao sano almost 3 years ago

  • Status changed from New(新規) to Accepted(着手)

#3 Updated by isao sano almost 3 years ago

  • Status changed from Accepted(着手) to Pending Review(レビュー待ち)
  • % Done changed from 0 to 50

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

#4 Updated by isao sano almost 3 years ago

  • Target version changed from OpenPNE 3.6.x to OpenPNE 3.6.25

#5 Updated by kaoru n almost 3 years ago

  • Target version changed from OpenPNE 3.6.25 to OpenPNE 3.6.x

#6 Updated by Shinichi Urabe almost 3 years ago

  • Assignee changed from isao sano to Shinichi Urabe

#7 Updated by Shinichi Urabe almost 3 years ago

  • Assignee changed from Shinichi Urabe to isao sano

設定間違いました

#8 Updated by Shinichi Urabe almost 3 years ago

  • Status changed from Pending Review(レビュー待ち) to Pending Testing(テスト待ち)
  • % Done changed from 50 to 70

#9 Updated by kaoru n over 2 years ago

  • Target version changed from OpenPNE 3.6.x to OpenPNE 3.6.26

#10 Updated by isao sano over 2 years ago

  • Status changed from Pending Testing(テスト待ち) to Pending Merge(マージ待ち)
  • % Done changed from 70 to 80

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

#11 Updated by kaoru n over 2 years ago

  • Status changed from Pending Merge(マージ待ち) to Fixed(完了)
  • % Done changed from 80 to 100

マージしました

Also available in: Atom PDF