1

twitterstream gemを使用してツイートを取得しようとしています 。

list_of_users = [612473, 759251, 1367531, 6017542, 6509832]
TweetStream::Client.new.follow(list_of_users) do |status|
  puts "follow [#{status.user.id}]\t[#{status.user.screen_name}]\t#{status.text}"
end

これで、リスト内のユーザーからツイートを取得できるようになりました。しかし、データベースに別のユーザーを追加した場合、TwitterStream にその新しいユーザーをフォローさせるにはどうすればよいでしょうか?

特定の間隔で新しいユーザーのデータベースをチェックするプログラムが必要です。DB に新しいユーザーが含まれている場合は、その新しいユーザーからのツイートのフェッチを開始する必要があります。

ありがとうございました

4

1 に答える 1

0

これを行う 1 つの方法は、ユーザー モデルに after create コールバックを追加するだけです。

Model User 
  after_create :get_tweets

  def get_tweets
    # your TweetStream code
  end
end

もう 1 つの方法は、ユーザー モデルにブール値を設定しis_followed、単純にすべてのユーザーを検索することですwhere(is_followed: false )

タスクを定期的に実行する場合は、resque などを使用します。そのような定期的なタスクに最適です。

于 2012-03-26T20:33:17.697 に答える