バックストーリー: Imgur images not rendering because server is rate limited
Rubyで書かれたカスタムインポートスクリプトはすでにありますが、動作はするものの速すぎます。これにより、サーバーは投稿をベイクする際にimgurなどの外部サービスから大量の画像をフェッチしてしまいます。
これを遅くする最善の方法は何でしょうか?簡単な方法としては、投稿間にスクリプトを少しスリープさせることですが、画像数とimgurのレート制限(約3日)を考えると、スクリプトの実行時間が長くなる可能性があります。他に、すべてのトピックを一度にインポートするものの、Discourseに1分あたり特定の数の投稿のみをベイクするように指示する方法はありますか?そうすれば、トピックはすぐに作成されますが、HTMLは非同期で構築されます。
pfaffman
(Jay Pfaffman)
2
後で投稿を再ベイクできます。数日おきに、悪い投稿を再ベイクできます。
悪い投稿を見つけて、それらを個別に再構築する方法はありますか? rake ですべてを再ベイクできることは知っています。しかし、そうすると常に同じ投稿から始まり、悪い投稿に到達する前にレート制限に達してしまいます。
さらにテストしたところ、そもそもレート制限に引っかかるのを防ぐ必要があることがわかりました。埋め込まれた画像の量から、IPアドレスが数日間(私がそのマシンでベイクしてから4日経ちましたが、まだブラックリストに載っています)ブラックリストに載ってしまうようです。そのため、後で投稿を再ベイクすることはできません。
そもそも、ベイクをより長い期間に分散させる方法について何かアイデアはありますか?