BugTrack/2401
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
|
ログイン
]
開始行:
RIGHT:&size(12){Category:[[:Plugin]]};
* bugtrack_listの高速化 [#x0511251]
- ページ: [[BugTrack2]]
- 投稿者: [[umorigu]]
- 優先順位: 普通
- 状態: 完了
- カテゴリー: プラグイン
- 投稿日: 2016-11-30 (水) 00:54:25
- バージョン: 1.5.1
- リリース予定バージョン: 1.5.2
** メッセージ [#b8383f90]
bugtrack_listは、表示時に列挙対象の全ページを読み込むので...
表示項目を適切にキャッシュすることで、表示の高速化とサー...
仕様:
- PHP5.4以降でキャッシュが有効 (5.4未満ではキャッシュされ...
- 更新日時が変わらないページのデータがキャッシュされる
- キャッシュの有効期限は最大24時間。生成から24時間経った...
-- この仕様のため、リスト生成が1リクエスト中に完了しない...
--------
- tracker_listの高速化のチケットはありましたが、bugtrack_...
- しかしbagtrack_listをヘビーに使っているのは世界中でこの...
- 更新時刻ベースのキャッシュを試作してみました。 pukiwiki...
- 👍 -- [[bee]] &new{2016-12-01 (木) 12:19:20};
-- (主題と全く関係ないのですが)Android 版 Firefox で絵...
- 前準備(?)の[[commit:3e7e44d6e4c39c334fc86d68cff0b2d1...
function plugin_bugtrack_list_pageinfo($page, $no = NULL...
で、move to NewPageName のリダイレクト先を読み込んでリス...
$data[] = plugin_bugtrack_list_pageinfo($page['name'], N...
の呼び出し方のほうが正しいのではないかと… -- &new{2016-1...
-- ありがとうございます。ご指摘の通りでした -- [[umorigu]...
- 対応しました [[commit:5127a22a15]] -- [[umorigu]] &new{...
- file_get_contents/file_put_contents が flock されてない...
--- a/plugin/bugtrack.inc.php
+++ b/plugin/bugtrack.inc.php
@@ -299,7 +299,7 @@ function plugin_bugtrack_list_conver...
// Cache management
$data_updated = true;
$cache_filepath = CACHE_DIR . encode($pa...
- $json_cached = file_get_contents($cache_...
+ $json_cached = _pkwk_file_get_contents($...
if ($json_cached) {
$wrapdata = json_decode($json_ca...
if (is_object($wrapdata)) {
@@ -386,7 +386,7 @@ EOD;
}
$json = array('refreshed_at'=>$r...
$cache_body = json_encode($json,...
- file_put_contents($cache_filepat...
+ file_put_contents($cache_filepat...
}
}
$table = array();
@@ -447,3 +447,14 @@ function plugin_bugtrack_list_pagei...
return array($page, $no, $summary, $name, $prior...
}
+
+function _pkwk_file_get_contents($filename) {
+ if (! file_exists($filename)) {
+ return false;
+ }
+ $fp = fopen($filename, 'rb');
+ flock($fp, LOCK_SH);
+ $file = file_get_contents($filename);
+ flock($fp, LOCK_UN);
+ return $file;
+}
こんな感じかな。 -- [[bee]] &new{2016-12-03 (土) 00:30:54};
--- PHP 5.2.5 以前の file_put_contents() にはバグがあるの...
-- こんな罠があったとは。採用させていただきます。m(__)m -...
-- 対応しました [[commit:ef13260aa6]] -- [[umorigu]] &new...
- 読み込み権限のないBugTrack listを表示できないようにしま...
- [[BugTrack/560]]のキャッシュ判定(recent.datとRecentDele...
#comment
終了行:
RIGHT:&size(12){Category:[[:Plugin]]};
* bugtrack_listの高速化 [#x0511251]
- ページ: [[BugTrack2]]
- 投稿者: [[umorigu]]
- 優先順位: 普通
- 状態: 完了
- カテゴリー: プラグイン
- 投稿日: 2016-11-30 (水) 00:54:25
- バージョン: 1.5.1
- リリース予定バージョン: 1.5.2
** メッセージ [#b8383f90]
bugtrack_listは、表示時に列挙対象の全ページを読み込むので...
表示項目を適切にキャッシュすることで、表示の高速化とサー...
仕様:
- PHP5.4以降でキャッシュが有効 (5.4未満ではキャッシュされ...
- 更新日時が変わらないページのデータがキャッシュされる
- キャッシュの有効期限は最大24時間。生成から24時間経った...
-- この仕様のため、リスト生成が1リクエスト中に完了しない...
--------
- tracker_listの高速化のチケットはありましたが、bugtrack_...
- しかしbagtrack_listをヘビーに使っているのは世界中でこの...
- 更新時刻ベースのキャッシュを試作してみました。 pukiwiki...
- 👍 -- [[bee]] &new{2016-12-01 (木) 12:19:20};
-- (主題と全く関係ないのですが)Android 版 Firefox で絵...
- 前準備(?)の[[commit:3e7e44d6e4c39c334fc86d68cff0b2d1...
function plugin_bugtrack_list_pageinfo($page, $no = NULL...
で、move to NewPageName のリダイレクト先を読み込んでリス...
$data[] = plugin_bugtrack_list_pageinfo($page['name'], N...
の呼び出し方のほうが正しいのではないかと… -- &new{2016-1...
-- ありがとうございます。ご指摘の通りでした -- [[umorigu]...
- 対応しました [[commit:5127a22a15]] -- [[umorigu]] &new{...
- file_get_contents/file_put_contents が flock されてない...
--- a/plugin/bugtrack.inc.php
+++ b/plugin/bugtrack.inc.php
@@ -299,7 +299,7 @@ function plugin_bugtrack_list_conver...
// Cache management
$data_updated = true;
$cache_filepath = CACHE_DIR . encode($pa...
- $json_cached = file_get_contents($cache_...
+ $json_cached = _pkwk_file_get_contents($...
if ($json_cached) {
$wrapdata = json_decode($json_ca...
if (is_object($wrapdata)) {
@@ -386,7 +386,7 @@ EOD;
}
$json = array('refreshed_at'=>$r...
$cache_body = json_encode($json,...
- file_put_contents($cache_filepat...
+ file_put_contents($cache_filepat...
}
}
$table = array();
@@ -447,3 +447,14 @@ function plugin_bugtrack_list_pagei...
return array($page, $no, $summary, $name, $prior...
}
+
+function _pkwk_file_get_contents($filename) {
+ if (! file_exists($filename)) {
+ return false;
+ }
+ $fp = fopen($filename, 'rb');
+ flock($fp, LOCK_SH);
+ $file = file_get_contents($filename);
+ flock($fp, LOCK_UN);
+ return $file;
+}
こんな感じかな。 -- [[bee]] &new{2016-12-03 (土) 00:30:54};
--- PHP 5.2.5 以前の file_put_contents() にはバグがあるの...
-- こんな罠があったとは。採用させていただきます。m(__)m -...
-- 対応しました [[commit:ef13260aa6]] -- [[umorigu]] &new...
- 読み込み権限のないBugTrack listを表示できないようにしま...
- [[BugTrack/560]]のキャッシュ判定(recent.datとRecentDele...
#comment
ページ名: