Rebake 和 Oneboxes 的困惑

您好,我在从 Drupal 进行测试环境迁移时,在 Postgres 控制台中运行了一系列 regexp_replace 命令,这需要重新烘焙所有帖子。因此,在过去的 12 小时里,我一直在运行 rake posts:rebake,它还在处理近 200 万个帖子。我查看了一个已经重新烘焙过的主题,注意到 Oneboxes 不会显示,除非我手动编辑帖子(Rebuild HTML 没有帮助)。所以,如果我理解正确的话,我似乎需要再花 20 个小时来运行 rake posts:refresh_oneboxes?该命令还回显:“正在为‘default’重新烘焙帖子 markdown”,这让我认为我最初只运行 refresh_oneboxes 就可以一石二鸟,既刷新了 Oneboxes,又在 regexp 替换后重建了帖子 HTML?

看起来我也可以在 rails c 中运行这个:

Post.find_each do |p|
    p.rebake!(invalidate_oneboxes: true)
    p.save ###Needed?
end

这会比 rake 命令快吗?

另外,在谈到这个话题时,我想了解一下我何时也需要在 Rails 控制台中同时使用 p.save,在上述过程中是否需要它?

非常感谢!

抱歉未能及时回复,因为您可能已经重新烘焙了帖子,但供将来参考:

我认为 rake posts:rebake 是最快的方法,并且不易出错。为了加快重新烘焙的速度,我建议为论坛提供更多资源(特别是内存容量和 CPU 核心),以便它可以更快地处理帖子。重新烘焙仅受限于机器拥有的资源。

1 个赞

太好了,非常感谢您的确认!

1 个赞

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.