2

嘿,我刚刚测试了 TweetStream gem。

例子:

TweetStream::Client.new('myuser','mypass').track('ruby', 'rails') do |status|  
 puts "[#{status.user.screen_name}] #{status.text}" 
end

这个例子有效。

问题:

  1. 我尝试重新启动路由器(互联网连接丢失),之后没有新消息到达。有人可以向我解释这种行为吗?
  2. 我测试了守护进程。如果一天或更长时间没有可用的互联网连接会怎样?它会自动重新连接吗?
  3. 我喜欢 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

谢谢!

4

0 回答 0