stuartcusackie/statamic-cache-requester

artisan 命令队列用于检索条目和 glide urls,这会激活缓存并使首次加载速度更快。

1.2.1 2024-05-21 11:22 UTC

This package is auto-updated.

Last update: 2024-09-22 15:07:04 UTC


README

artisan 命令队列用于检索条目和 glide urls,这会激活缓存并使首次加载速度更快。注意,此包对保存缓存的 Statamic 应用程序没有帮助,即 cache => true。

此包可以做几件事

  1. 队列所有条目 urls 以供检索,这将自动激活静态缓存,使首次加载更快。更新:Statamic 实际上有一个内置函数用于此目的,应优先考虑 - static:warm
  2. 在条目中搜索所有图像和图片源,并将它们队列起来进行单独的检索以启动 Glide 生成。这意味着所有图像和响应式变体都将为您的第一位访客预先生成。当您有很多响应式图像变体或使用 Spatie 的 Statamic 响应式图像包时,这特别有用。这可以帮助避免图像密集型网站(Glide 需要执行大量处理)崩溃。
  3. 监听 EntrySaved 事件并自动将条目的 url 队列到图像请求中。

警告: Glide 图像处理可能需要大量工作,特别是当使用响应式图像变体和 jpeg 降级时。例如,使用 Spatie 响应式图像插件的网站可能每个图像有 10 个大小和 2 种格式。如果此网站有 1000 张图像,则需要由 Glide 处理 20,000 个变体。请关注您的 CPU 使用情况,特别是如果您使用限制 CPU 的托管服务器(例如 AWS-EC2)。

安装

composer require stuartcusackie/statamic-cache-requester
php please vendor:publish --tag=statamic-cache-requester-config

检查配置文件以设置特殊功能,例如队列配置和灯箱图像请求生成。

命令

php artisan requester:entries

这个命令基本上与 php please static:warm 做相同的事情。如果您使用静态缓存,那么 将其中一个命令添加到您的部署脚本(例如 Forge)是一个好主意。 部署会清除静态缓存,因此之后将重新构建所有条目的缓存。

php artisan requester:images

此命令将队列任务以访问每个条目 url 并扫描图像 url,这些图像 url 也将被队列以进行访问。此过程预先准备所有图像,但可能需要很长时间才能运行。通常,您只会在此网站首次部署或资产文件名和文件夹进行任何重大重构后运行此命令一次。我 建议将其添加到部署脚本中,因为图像很少更改。

php artisan requester:clear

清除配置的队列。如果您使用默认队列或共享队列,请谨慎操作,因为所有任务都将被删除。

队列

此包使用名为 cacherequester 的 Redis 队列。您可以配置包以使用您首选的队列和连接,但最好不使用共享队列或默认队列。

可以使用此命令手动运行队列

php artisan queue:work redis --queue=cacherequester

我建议使用 Laravel Forge 工作器或类似的工作器,因为工作器在命令行中使用时容易出现提前退出。

待办事项

  • 向条目请求添加术语
  • 添加多站点功能
  • 尝试使用 EntryCreated 事件处理图像