0

我已经安装了 Mediawiki Collection Extension 和 mwlib 来将文章(或文章集合)呈现为 PDF。这对于单篇文章和最多包含 20 篇文章的集合非常有效。

当我渲染更大的集合时,解析页面中的百分比计数器(渲染成功时计数为 100%)停留在 1%。

查看 mwrender.log 我看到错误 32 - 管道损坏错误。搜索互联网发现错误 32 可能是由于接收进程(管道之后的部分)崩溃或没有响应造成的。

从这里开始就很难了。我应该在哪里寻找更多线索?会不会是与 MySQL 服务器的连接死了?

整个应用程序在交钥匙 Linux Mediawiki VM 上运行。

4

2 回答 2

0

我自己发现了问题。

Mw-render 为集合中的每篇文章生成一个并行请求。这意味着对于 50 个页面的集合,会同时发出 50 个请求。Apache 可以处理这个问题,但 MediaWiki 的 MySQL 数据库不行。

您可以使用 --num-threads=NUM 选项限制 mw-render 生成的线程数量。我找不到 mw-serve 调用 mw-render 的位置,所以我只是将 Apache 可以产生的最大线程数(工作者)限制为 10。

如果第一个请求失败,mw-render 会自动重复对文章的请求,因此这种方法有效。

我在 4 分钟内渲染了一个包含 185 篇文章的 PDF,生成的 PDF 有 300 多页。

于 2010-12-10T08:03:42.543 回答
0

我正在使用PDF 导出扩展,它适用于 20 多篇文章。也许试试看?

于 2010-12-08T15:47:40.470 回答