在 Drupal 项目中运行和监控任务
1. 使用 cron 运行周期性任务
在 Drupal 项目中,周期性任务的执行对于维护和优化网站至关重要。Drupal 自带的 cron 机制是一个内置工具,用于定期执行清除缓存、检查更新或索引可搜索内容等任务。默认情况下,Drupal 每三小时自动运行一次 cron,但我们可以使用 Drush 更灵活地管理和调度这些任务。
1.1 禁用 Drupal 的自动 cron
Drupal 通过在客户端响应中注入一小段 AJAX 代码来自动触发 cron,这会向 http://mysite.example.com/cron.php?cron_key=some_token
发出请求。如果我们打算专门通过 Drush 触发 Drupal 的 cron,那么我们应该禁用这个自动触发机制。
操作步骤:
- 打开 Drupal 的管理界面,进入
admin/config/system/cron
。 - 设置 cron_safe_threshold 变量为 0,以禁用自动 cron。
1.2 使用 Drush 触发 cron
使用 Drush 触发 cron 有以下几个优势:
- Drush 使用的 PHP.ini 配置与 web 服务器不同,没有请求超时限制。
- cron 的输出可以