Рендеринг больших коллекций статей в PDF не выполняется в MediaWiki с помощью mwlib - PullRequest
0 голосов
/ 08 декабря 2010

Я установил Mediawiki Collection Extension и mwlib для рендеринга статей (или коллекций статей) в PDF. Это очень хорошо работает для отдельных статей и сборников, содержащих до 20 статей.

При рендеринге больших коллекций процентный счетчик на странице анализа (который составляет 100% при успешном рендеринге) застревает на 1%.

Глядя на mwrender.log, я вижу ошибку 32 - ошибка сломанной трубы. Поиск в Интернете показывает, что ошибка 32 может быть вызвана сбоем процесса приема (деталь после конвейера) или отсутствием ответа.

Отсюда трудно продолжить. Где мне искать дополнительные подсказки? Может ли это быть соединение с сервером MySQL, которое умирает?

Все приложение работает на виртуальной машине под ключ Mediawiki Linux.

Ответы [ 2 ]

0 голосов
/ 10 декабря 2010

Я сам решил проблему.

Mw-render порождает параллельный запрос для каждой статьи в коллекции.Это означает, что для коллекции из 50 страниц выполняется 50 одновременных запросов.Apache может справиться с этим, но не MySQL db MediaWiki.

Вы можете ограничить количество потоков, которые порождает mw-render, с опцией --num-threads = NUM.Я не мог найти, где mw-serve вызывает mw-render, поэтому я просто ограничил максимальное количество потоков (рабочих), которое Apache может создать до 10.

mw-render автоматически повторяет запросы на статьи, если первыене удалось, поэтому этот подход сработал.

В течение 4 минут я отрисовал PDF-файл со 185 статьями, в результате PDF-файл содержал более 300 страниц.

0 голосов
/ 08 декабря 2010

Я использую Расширение экспорта PDF , и оно работает с более чем 20 статьями. Может попробовать это?

...