【メモ】 ウィジェットテンプレートのキャッシュで嵌る


このブログのはてなブックマークまとめエントリは、毎朝、前日のはてなブックマークをまとめてエントリという形で投稿しているのですけど、リニューアルしてバッチ処理を設定してみたらなんだかきちんと投稿されない。具体的に言うと、メニューの「Recent Entries」に、カテゴリが空の状態で投稿されてしまう。

バッチ処理が悪いのか、XML-RPC叩くライブラリが悪いのかと色々やってみたけどわからなくて、最終的には「Recent Entries」テンプレートのキャッシュが更新されていないことが判明。キャッシュ更新のタイミングを「ブログ記事」に設定していたのですけど、どうやら再構築時にウィジェットテンプレートのキャッシュが更新されないみたい。


XML-RPC叩いてカテゴリ付きでエントリを投稿する場合の経過はこんな感じなのですけど、

  1. XML-RPC経由でエントリ内容を投稿
  2. 返ってきたエントリIDを使ってカテゴリを登録
  3. エントリIDを使ってブログ記事を再構築

本来こうなって欲しいところ、

  1. XML-RPC経由でエントリ内容を投稿 ← キャッシュ更新
  2. 返ってきたエントリIDを使ってカテゴリを登録
  3. エントリIDを使ってブログ記事を再構築 ← キャッシュ更新

こうなってしまうという。

  1. XML-RPC経由でエントリ内容を投稿 ← キャッシュ更新
  2. 返ってきたエントリIDを使ってカテゴリを登録
  3. エントリIDを使ってブログ記事を再構築


考えてみれば当然で、再構築というのはブログ記事の内容に変更はないわけだから、キャッシュ更新タイミングである「ブログ記事を作成または更新後」には該当しないのですよね。

そうかー。


というわけで、該当ウィジェットのキャッシュを解除したらば無事、再構築に含まれるようになりました。
良かった良かった。