こんにちは。Drupalからのテスト環境への移行中に、PostgreSQLコンソールから多数のregexp_replaceコマンドを実行したため、すべての投稿の再ベイクが必要になりました。そのため、過去12時間以上にわたりrake posts:rebakeを実行していますが、約200万件の投稿を処理中です。再ベイク済みのトピックを1つ確認したところ、手動で編集しないとOneboxが表示されないことに気づきました(Rebuild HTMLは役に立ちません)。したがって、私の理解が正しければ、rake posts:refresh_oneboxesを実行するためにさらに20時間費やす必要があるということでしょうか?このコマンドは次のようにエコーされます。「Rebaking post markdown for 'default'\"」これは、最初にrefresh_oneboxesを実行するだけで、Oneboxを更新し、regexp置換後に投稿HTMLを再構築することで、一石二鳥になったのではないかと思われます。
代わりにrails cでこれを実行できるようです。
Post.find_each do |p|
p.rebake!(invalidate_oneboxes: true)
p.save ###必要?
end
これはrakeコマンドよりも速いでしょうか?
また、この件に関連して、Railsコンソールでp.saveを使用する必要があるのはいつかについても理解したいと思います。上記のプロセスで必要になりますか?
よろしくお願いします!