我正在尝试使用twitterstream-gem获取tweets。
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关注该新用户
我需要我的程序在特定的时间间隔内检查我的数据库中是否有新用户,如果我的数据库包含新用户,那么它应该开始从该新用户那里获取推文。
感谢
实现这一点的一种方法是简单地在用户模型中添加创建后回调。
Model User
after_create :get_tweets
def get_tweets
# your TweetStream code
end
end
另一种方法是在用户模型上设置一个布尔值:is_followed
,然后简单地查找所有用户where(is_followed: false )
。
如果您希望任务定期运行,请使用resque之类的方法。非常适合这种常规任务。