2010-12-08 8 views
0

기사 (또는 기사 모음)를 PDF로 렌더링하기 위해 Mediawiki Collection Extension과 mwlib을 설치했습니다. 이 방법은 최대 20 개의 기사가 포함 된 단일 기사 및 컬렉션에 적합합니다.많은 기사를 PDF로 렌더링하면 mwlib가 포함 된 MediaWiki에 표시되지 않습니다.

큰 컬렉션을 렌더링 할 때 구문 분석 페이지의 백분율 카운터 (렌더링 성공시 100 %로 계산 됨)는 1 %에서 멈 춥니 다.

mwrender.log에서 보면 오류 32 - 파이프 깨짐 오류가 표시됩니다. 인터넷 검색은 오류 32가 수신 프로세스 (파이프 뒤의 부품)가 충돌하거나 응답하지 않아 발생할 수 있음을 나타냅니다.

여기에서 진행하기가 어렵습니다. 더 많은 단서를 찾아야하는 곳은 어디입니까? 죽는 MySQL 서버에 연결할 수 있습니까?

전체 애플리케이션은 Turnkey Linux Mediawiki VM에서 실행됩니다.

답변

0

저는 PDF Export Extension을 사용하고 있으며 20 개 이상의 기사에서 작동합니다. 어쩌면 그것을 시도해도 될까요?

+0

Collection Extension과 함께 사용합니다. 초대형 콜렉션 (70+)에서도 성공합니까? – Docbuilder

+0

나는 Collection Extension이 실제로 PDF Writer Extension을 사용한다고 생각합니다. –

+0

너무 빠르다. PDF 내보내기를 사용하지 않고 2 년 전에 시도한 결과 출력 품질이 좋지 않고 결과 PDF가 스타일에 어울리는 것을 발견했습니다. 2.4 버전을 사용해 볼 수 있습니다. – Docbuilder

0

나는 문제를 직접 알아 냈습니다.

Mw-render는 컬렉션의 모든 기사에 대해 병렬 요청을 생성합니다. 즉, 50 페이지를 수집 할 때 50 개의 동시 요청이 이루어집니다. Apache는 MediaWiki의 MySQL 데이터베이스가 아니라 이것을 처리 할 수 ​​있습니다.

--num-threads = NUM ​​옵션을 사용하여 mw-render spawns 스레드 수를 제한 할 수 있습니다. mw-serve가 mw-render를 호출하는 곳을 찾을 수 없으므로 Apache가 생성 할 수있는 최대 스레드 (작업자)의 수를 제한했습니다.

첫 번째 오류가 발생하면 mw-render가 자동으로 기사 요청을 반복하고, 그래서이 방법이 효과적이었습니다.

4 분 이내에 185 개 기사로 PDF를 렌더링 한 결과 PDF에 300+ 페이지가 있습니다.