You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Drupal缓存重建日志配置方法及Drush触发场景相关问题咨询

Drupal缓存重建(高版本原名缓存清理)常见触发时机
  • 管理员在后台点击「清除所有缓存」按钮手动操作时
  • 模块执行安装、卸载、启用、禁用操作完成后
  • 核心、模块、主题的配置表单提交保存后,涉及系统配置变更的场景会自动触发
  • 实体类型、字段结构更新时,比如新增内容类型、新增自定义字段操作后
  • 业务代码调用核心缓存API的cache_invalidate()、cache_clear_all()方法时
  • 命令行执行Drush的drush cr(缓存重建)或drush cc(清理指定缓存bin)命令时
  • Cron计划任务运行时,若配置了对应缓存清理规则也会触发
配置缓存清理操作自动生成日志

有两种常用实现方案:

  • 方案1:直接安装社区贡献的Cache Logs模块,安装启用后会自动记录所有缓存清理操作的操作人、触发时间、清理范围等信息,日志默认写入Drupal内置的watchdog日志表,可在后台「报告 > 最近日志消息」页面查看。
  • 方案2:自定义开发实现(适合需要自定义日志格式、自定义存储路径的场景):
    1. 在自定义模块的.services.yml文件中注册事件订阅器,示例配置如下:
    services:
      your_module.cache_clear_subscriber:
        class: Drupal\your_module\EventSubscriber\CacheClearSubscriber
        arguments: ['@logger.factory']
        tags:
          - { name: event_subscriber }
    
    1. 新建对应的事件订阅器类,监听kernel.cache_clear事件,每次缓存清理触发时自动写入自定义日志即可。
      如果需要将缓存清理日志单独存储到外部文件,可以额外配置Drupal的日志通道,将缓存相关日志输出到指定路径的文件中。
计划缓存重建与Drush的相关说明
  • 关于计划任务自动缓存重建是否调用Drush:Drupal默认自带的Cron计划任务执行缓存重建时,不会调用Drush,默认是直接调用核心缓存API完成操作。如果是你自行在服务器层面配置的定时任务,指定执行drush cr命令做缓存重建,这种场景才会调用Drush。
  • 关于Drush的使用场景:Drush并不仅限于用户手动操作使用,它完全支持被脚本、服务器计划任务、CI/CD流水线等自动化程序调用,大量自动化部署、自动站点维护的场景都会用到Drush的命令行能力实现无人值守操作。

内容的提问来源于stack exchange,提问作者Robert West

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.29 21:45:04