2017-03-15 121 views
1

我想知道如果軌道緩存在下列情況下任何東西:如果引發異常,rails是否緩存任何內容?

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

我很擔心,因爲如果Rails.cache.fetch塊內的請求失敗,我要重試下一個請求。不要讓用戶等待24HRS重試。

回答

1

編號如果引發異常,Rails不會緩存任何內容。您的用戶在下次重試前不需要等待24小時。將在下一個請求中重試。嘗試和真實。

作爲每Rails Guides

[...]的塊的結果將被緩存給定鍵並返回結果。

當發生異常時,塊不返回,因此沒有任何內容被緩存。

相關問題