在MediaWiki模板中编辑后,MediaWiki不会刷新页面内容

时间:2017-07-19 08:43:15

标签: mediawiki mediawiki-templates semantic-mediawiki

如果我在mediawiki中对模板进行更改,则在我编辑页面并重新保存页面之前,使用模板不会在页面上显示效果。如何反映所有其他页面的变化?

早些时候: [[琐事:: {{{琐事|}}}]]

假设我将样式应用于模板中的元素:

[花絮:: {{{琐事|}}}]]

然后,使用此模板的页面中未显示更改。

2 个答案:

答案 0 :(得分:0)

当你更改这样的许多页面上的模板时,MediaWiki必须更新所有受影响的页面。但是,默认情况下它不会这样做,因为在默认配置中,MediaWiki仅在有人请求页面时运行。如果MediaWiki必须在有人请求页面时更新数百个(或维基百科的案例,数百万)页面,那么该人的请求将需要很长时间才能完成。

相反,MediaWiki有一个“工作”的概念。可以通过各种操作触发作业。例如,删除页面后,该页面的所有链接必须从蓝色变为红色;在更改模板中的类别后,所有转换该模板的页面都必须切换到使用新类别。 By default,MediaWiki在每页视图中运行其中一个作业。这对某些网站来说没问题,但根据您的使用模式,它可能无法足够快地更新所有网页。

要解决此问题,MediaWiki引入了“job queue”。通过使用此作业队列,您可以在后台运行批处理中的作业,因此可以快速完成作业,并且不必通过处理作业来减慢请求。请参阅上面的链接,了解如何设置作业队列。

答案 1 :(得分:0)

其他解决方案是创建一个cron作业,该作业将运行runJobs.php目录中的maintenance脚本,比如说,每小时一次(或根据您的需要,或多或少的频率)。