嘿,我刚刚测试了 TweetStream gem。
例子:
TweetStream::Client.new('myuser','mypass').track('ruby', 'rails') do |status|
puts "[#{status.user.screen_name}] #{status.text}"
end
这个例子有效。
问题:
- 我尝试重新启动路由器(互联网连接丢失),之后没有新消息到达。有人可以向我解释这种行为吗?
- 我测试了守护进程。如果一天或更长时间没有可用的互联网连接会怎样?它会自动重新连接吗?
- 我喜欢 Rufus gem(用于后台进程)。我可以以某种方式将此代码与 Rufus 集成,以检查该进程是否仍处于活动状态?
我的重新连接解决方案(config/initializers/tweet_stream.rb):
client = nil
scheduler = Rufus::Scheduler.start_new
scheduler.every '30min', :first_in => '1s' do |job|
client.stop rescue nil
client = TweetStream::Client.new('user','pass').on_error do |message|
Rails.logger.info "[Rufus][#{Time.now}] TweetStream error: #{message}"
end.track('love') do |status|
Rails.logger.error "[TweetStream] Status: #{status.id}"
end
end
谢谢!