Mercurial > rsstweet
comparison app/models/tweet.rb @ 134:3646b3e319c7
Only try/catch the tweet downloading part
author | nanaya <me@nanaya.pro> |
---|---|
date | Wed, 13 Dec 2017 02:28:34 +0900 |
parents | 8b2d770160e3 |
children | 3fc882b0884d |
comparison
equal
deleted
inserted
replaced
133:64f697fe3af1 | 134:3646b3e319c7 |
---|---|
4 end | 4 end |
5 | 5 |
6 def timeline | 6 def timeline |
7 start_client_config_id = @client_config_id | 7 start_client_config_id = @client_config_id |
8 | 8 |
9 begin | 9 @timeline ||= |
10 @timeline ||= | 10 Rails.cache.fetch({ :timeline => @twitter_id }, :expires_in => cache_expires_time) do |
11 Rails.cache.fetch({ :timeline => @twitter_id }, :expires_in => cache_expires_time) do | 11 begin |
12 @client.user_timeline(@twitter_id, :count => 100, :exclude_replies => false, :include_rts => true, :tweet_mode => :extended) | 12 @client.user_timeline(@twitter_id, :count => 100, :exclude_replies => false, :include_rts => true, :tweet_mode => :extended) |
13 rescue Twitter::Error::TooManyRequests | |
14 next_client_config_id = @client_config_id + 1 | |
15 init_client next_client_config_id | |
16 | |
17 if @client_config_id == start_client_config_id | |
18 raise | |
19 else | |
20 retry | |
21 end | |
13 end | 22 end |
14 rescue Twitter::Error::TooManyRequests | |
15 next_client_config_id = @client_config_id + 1 | |
16 init_client next_client_config_id | |
17 | |
18 if @client_config_id == start_client_config_id | |
19 raise | |
20 else | |
21 retry | |
22 end | 23 end |
23 end | |
24 end | 24 end |
25 | 25 |
26 def user | 26 def user |
27 @user ||= | 27 @user ||= |
28 if timeline.any? | 28 if timeline.any? |