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



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

早些时候: [[Trivia::{{{Trivia|}}}]]

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

[[Trivia::{{{Trivia|}}}]]然后,使用此模板的页面中未显示的更改。

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

相反,MediaWiki有一个"工作"的概念。作业可以通过各种操作触发。例如,删除页面后,指向该页面的所有链接必须从蓝色变为红色;更改模板中的类别后,包含该模板的所有页面都必须切换到使用新类别。默认情况下,MediaWiki每次页面视图运行这些作业之一。这对于某些网站来说是可以的,但根据您的使用模式,它可能无法足够快地更新所有页面。

为了解决这个问题,MediaWiki引入了一个"作业队列"。通过使用此作业队列,可以在后台在批处理中运行作业,以便快速完成作业,并且请求不会因必须处理作业而减慢速度。请参阅上面的链接,了解如何设置作业队列。

另一种解决方案是创建一个 cron 作业,该作业将从目录中运行runJobs.php脚本maintenance例如每小时一次(或根据您的需要或多或少频繁(。

相关内容

  • 没有找到相关文章

最新更新