Mercurial > rsstweet
comparison app/models/tweet.rb @ 152:fd7344643903
Better? cache key
author | nanaya <me@nanaya.pro> |
---|---|
date | Sat, 17 Feb 2018 20:53:00 +0900 |
parents | 7ca8aeba1a63 |
children | 1abfa910d83e |
comparison
equal
deleted
inserted
replaced
151:f0ac0c99af36 | 152:fd7344643903 |
---|---|
13 | 13 |
14 def cache_expires_time | 14 def cache_expires_time |
15 (15 + rand(15)).minutes | 15 (15 + rand(15)).minutes |
16 end | 16 end |
17 | 17 |
18 def cache_key | |
19 "timeline:v2:#{@twitter_id}/#{Base64.urlsafe_encode64 @twitter_id.to_s}" | |
20 end | |
21 | |
18 def timeline | 22 def timeline |
19 if @timeline.nil? | 23 if @timeline.nil? |
20 raw = Rails.cache.fetch("timeline:v2:#{@twitter_id}", :expires_in => cache_expires_time) do | 24 raw = Rails.cache.fetch(cache_key, :expires_in => cache_expires_time) do |
21 client_try(:user_timeline, @twitter_id, TIMELINE_OPTIONS).tap do |data| | 25 client_try(:user_timeline, @twitter_id, TIMELINE_OPTIONS).tap do |data| |
22 if data[:result] == :ok | 26 if data[:result] == :ok |
23 if data[:data].any? && data[:data].first.user.id != @twitter_id | 27 if data[:data].any? && data[:data].first.user.id != @twitter_id |
24 wrong_user = data[:data].first.user | 28 wrong_user = data[:data].first.user |
25 Rails.logger.warn "Wrong timeline data. Requested: #{@twitter_id}, got: #{wrong_user.id} (#{wrong_user.name.printable})" | 29 Rails.logger.warn "Wrong timeline data. Requested: #{@twitter_id}, got: #{wrong_user.id} (#{wrong_user.name.printable})" |