[英]Ruby on Rails How do I cache partial data from external source in an ActiveRecord model
這是我的第一個問題,所以如果您覺得我在做任何主要/次要的失禮,請告訴我。 謝謝。
版本:
我有一個現有的 ActiveRecord 數據模型。 由於信息在 API 中可用,因此數據模型中的字段變得多余,需要手動更新。 我想從外部 API 檢索、填充和緩存其中一些字段。
由於大多數實體使用數據模型 CRUD,我將修改數據模型以始終檢查緩存數據,如果 TTL 失效,則從 API 中重新提取。
Rails 或 Ruby 中是否存在允許我這樣做的機制?
似乎有用於更新的 ActiveRecord 驗證掛鈎,但我沒有可用於檢索的掛鈎。
我還是 Ruby on Rails 的新手,我的搜索結果並不好。
非常感謝您提供的任何幫助!
我能夠使用after_find
鈎子來預填充結果並保存它,如果更新的時間在某個可配置的時間段之后。 不幸的是,如果我要為每個結果(咳嗽,所有結果)進行 API 調用,這不能很好地擴展。
我最終創建了一個定期運行的 rake 任務,它會定期調用外部 API 來更新我的記錄結果的一部分。
這似乎不符合我所尋找的客觀答案,因此我不會將其標記為結果。 感謝所有查看並考慮回答此問題的人。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.