Project

General

Profile

Backport(バックポート) #4039

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

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

Status:
Fixed(完了)
Priority:
High(高め)
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 77a7b7d8 (diff)
Added by Youichi Kimura almost 3 years ago

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

(cherry picked from commit f971b5d49b85281faac06f2004a23206b2a14bbd)

Revision 07842c48 (diff)
Added by Youichi Kimura almost 3 years ago

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

(cherry picked from commit 90f81ae9b8c6205431771bab5ab0e12ee097006e)

Revision 6188a071
Added by kaoru n over 2 years ago

Merge pull request #386 from upsilon/t-4039

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

History

#1 Updated by isao sano almost 3 years ago

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

#2 Updated by Youichi Kimura almost 3 years ago

  • Status changed from New(新規) to Pending Review(レビュー待ち)
  • Assignee changed from isao sano to Youichi Kimura
  • Target version set to OpenPNE 3.8.x
  • % Done changed from 0 to 50

下記 Pull Request にて修正しました。
https://github.com/openpne/OpenPNE3/pull/386

#3 Updated by isao sano almost 3 years ago

  • Target version changed from OpenPNE 3.8.x to OpenPNE 3.8.22

#4 Updated by kaoru n almost 3 years ago

  • Target version changed from OpenPNE 3.8.22 to OpenPNE 3.8.x

#5 Updated by Shinichi Urabe almost 3 years ago

  • Assignee changed from Youichi Kimura to Shinichi Urabe

#6 Updated by Shinichi Urabe almost 3 years ago

  • Assignee changed from Shinichi Urabe to Youichi Kimura

設定間違いました

#7 Updated by Shinichi Urabe almost 3 years ago

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

#8 Updated by kaoru n over 2 years ago

  • Target version changed from OpenPNE 3.8.x to OpenPNE 3.8.23

#9 Updated by isao sano over 2 years ago

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

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

#10 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