2017-03-15 1 views
1

例外が発生した場合、レールは何かをキャッシュしますか?私はレールは、以下の場合には何もキャッシュする場合は思ったんだけど

Rails.cache.fetch("some_key", expires_in: 1.day) do 
    service.call # raises exception 
    [] 
    end 

Rails.cache.fetchブロック内の要求が失敗した場合ので、私は心配だけど、私は次のリクエストに応じて再試行します。再試行するには、ユーザーが24時間待機するようにしないでください。

答えて

1

No.例外が発生した場合、Railsは何もキャッシュしません。ユーザーは、次回の再試行までに24時間待つ必要はありません。次のリクエストで再試行されます。試して真実。 Rails Guides 1として

[...]ブロックの結果が与えられたキーにキャッシュされると、結果が返されます。

例外が発生した場合、ブロックは戻らないため、キャッシュされません。

関連する問題