Open yegusa opened 9 years ago
調査の結果、https://phabricator.wikimedia.org/T56033 Commons画像をロードするのに時間がかかる問題については、MediaWiki本家にてバグ報告あり。 対応方法は未定。。。
1)APIロードを一括で行うよう改造するか、 2)キャッシュをあらかじめすべてのページについて読み込んでおくか、 3)imageテーブルの情報をあらかじめ読み込んでおくか、 といった対応を検討する必要あり(3は難しそう)。
以下に、[[北抜き]] ページがファイル読み込みした際のAPI呼び出しの例を示す:
ForeignAPIRepo: HTTP GET: https://commons.wikimedia.org/w/api.php?titles=File%3AQuestion_book-4.svg&
iiprop=timestamp%7Cuser%7Ccomment%7Curl%7Csize%7Csha1%7Cmetadata%7Cmime%7Cmediatype%7Cextmetadata&pr
op=imageinfo&iimetadataversion=2&iiextmetadatamultilang=1&format=json&action=query&redirects=true&us
elang=ja
ForeignAPIRepo: HTTP GET: https://commons.wikimedia.org/w/api.php?titles=File%3AQuestion_book-4.svg&
iiprop=url%7Cthumbnail%7Ctimestamp&iiurlwidth=50&iiurlheight=40&iiurlparam=50px&prop=imageinfo&forma
t=json&action=query&redirects=true&uselang=ja
ForeignAPIRepo::getThumbUrl got remote thumb https://upload.wikimedia.org/wikipedia/commons/thumb/6/
64/Question_book-4.svg/50px-Question_book-4.svg.png
ForeignAPIRepo: HTTP GET: https://commons.wikimedia.org/w/api.php?titles=File%3AQuestion_book-4.svg&
iiprop=url%7Cthumbnail%7Ctimestamp&iiurlwidth=75&iiurlheight=60&iiurlparam=75px&prop=imageinfo&forma
t=json&action=query&redirects=true&uselang=ja
ForeignAPIRepo::getThumbUrl got remote thumb https://upload.wikimedia.org/wikipedia/commons/thumb/6/
64/Question_book-4.svg/75px-Question_book-4.svg.png
ForeignAPIRepo: HTTP GET: https://commons.wikimedia.org/w/api.php?titles=File%3AQuestion_book-4.svg&
iiprop=url%7Cthumbnail%7Ctimestamp&iiurlwidth=100&iiurlheight=80&iiurlparam=100px&prop=imageinfo&for
mat=json&action=query&redirects=true&uselang=ja
ForeignAPIRepo::getThumbUrl got remote thumb https://upload.wikimedia.org/wikipedia/commons/thumb/6/
64/Question_book-4.svg/100px-Question_book-4.svg.png
最初の呼び出し:
API呼び出しをダミーで行うCGIスクリプトをローカルで動作させることにした。 → https://github.com/masao/irce-wikipedia/blob/master/webapp/commons-api.cgi
「コスモス」だと10秒くらいかかる。