CDN更改后重新烘焙遗漏了旧帖子

Discourse 管理员最近提醒我,应考虑使用 CDN 而不是直接从 S3 提供服务。我过去曾考虑过这样做,但当时觉得成本过高,且对我们的小型社区来说似乎没有必要。现在我了解到成本已大幅降低,便进行了配置。我在现有的存储桶上创建了一个 CloudFront 分发端点,然后将其 URL 添加到 Discourse 中,随后执行了完整的重新烘焙(rebake)。

重新烘焙已顺利运行并完成。发布新帖子功能正常,且已使用 CDN。2018 年及之后(确切截止日期我未核实)的帖子已正确更新为指向 CDN。但 2017 年及更早的帖子似乎并未真正被重新烘焙,其 URL 仍直接指向 S3 存储桶。我希望将这些帖子正确重新烘焙,以便在确信不会导致问题的情况下,安全地禁用 S3 存储桶的公共访问权限。

不过,我不确定还能采取哪些其他措施?有什么建议吗?谢谢。

哦,等等,稍等一下。我想我可能知道问题所在了,我只需要确认一下。

当你运行 rake posts:rebake 时,是立即重新烘焙所有帖子,还是仅仅将任务队列化到 Sidekiq 中,由它来执行实际的重新烘焙?我注意到现在有一大堆 Jobs::PullHotlinkedImages 任务在排队,这非常有道理。如果队列清空后仍有帖子需要重新烘焙,那我估计就有问题了。否则,一切正常。

是的,正确——这是一个后台进程,应按从最新帖子到最旧帖子的顺序处理,因此先处理最新帖子,再处理大量积压的旧帖子。