在“系统”->“维护”->“预热缓存”中有一个预热缓存的选项。我必须每周在contao网站上预热缓存。因此我正在考虑编写一个调度程序任务。我知道有实现计划任务的选项
$GLOBALS['TL_CRON']
实施此操作会有什么风险?调度程序中的此缓存预热背后是否存在任何安全风险?
简而言之:-我需要一个调度程序来进行页面缓存预热。
- 不应包含禁用的页面
- 隐藏的页面也应该预热
答案 0 :(得分:1)
我假设您指的是Contao 3安装,高速缓存是指内部高速缓存,您可以在后端的维护部分中清除它,然后进行重建。
为此,您可以使用\Contao\Automator
类,该类也存在命令行界面。要清除并重建内部缓存,可以使用以下命令:
$ php system/bin/automator generateInternalCache
如有必要,用paht替换php
到适当的PHP CLI(最好用Contao安装使用的PHP版本)。
更新:
对于Contao 4(托管版),它是一个基于Symfony的应用程序,可以使用以下命令:
$ php vendor/bin/contao-console cache:clear --no-warmup
$ php vendor/bin/contao-console cache:warmup
答案 1 :(得分:1)
无法通过命令或cron条目执行您想做的事情。诸如搜索重新索引编制或您正在使用的扩展的前端页面缓存预热之类的操作只能通过JavaScript AJAX请求进行,因此它们需要客户端才能工作。 Contao还不能使用服务器端请求队列之类的功能来进行页面缓存预热和搜索索引编制。