首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用tweetstream和timeout

使用tweetstream和timeout
EN

Stack Overflow用户
提问于 2013-04-27 08:29:13
回答 2查看 462关注 0票数 4

Ruby版本: 2.0.0-p0 Mac - Mountain Lion

以下是我的代码(tw_stream_track.rb):

代码语言:javascript
复制
require 'tweetstream'

TweetStream.configure do |config|
  config.consumer_key       = 'xxxxxxxxxxxxxxx'
  config.consumer_secret    = 'xxxxxxxxxxxxxxx'
  config.oauth_token        = 'xxxxxxxxxxxxxxx-xxxxxxxxxxxxxxx'
  config.oauth_token_secret = 'xxxxxxxxxxxxxxx'
  config.auth_method        = :oauth
end

client = TweetStream::Client.new

client.on_error do |message|
  puts message
end

client.track('apple', 'microsoft', 'samsung') do |status|
  puts "#{status.text}"
end

当我从终端运行它时:

代码语言:javascript
复制
ruby tw_stream_track.rb

我得到了以下信息:

代码语言:javascript
复制
/Users/mine/.rvm/gems/ruby-2.0.0-p0/gems/tweetstream-2.5.0/lib/tweetstream/client.rb:436:in `block in connect': Failed to reconnect after 11 tries. (TweetStream::ReconnectError)
    from /Users/mine/.rvm/gems/ruby-2.0.0-p0/gems/em-twitter-0.2.2/lib/em-twitter/connection.rb:296:in `call'
    from /Users/mine/.rvm/gems/ruby-2.0.0-p0/gems/em-twitter-0.2.2/lib/em-twitter/connection.rb:296:in `invoke_callback'
    from /Users/mine/.rvm/gems/ruby-2.0.0-p0/gems/em-twitter-0.2.2/lib/em-twitter/connection.rb:268:in `rescue in schedule_reconnect'
    from /Users/mine/.rvm/gems/ruby-2.0.0-p0/gems/em-twitter-0.2.2/lib/em-twitter/connection.rb:263:in `schedule_reconnect'
    from /Users/mine/.rvm/gems/ruby-2.0.0-p0/gems/em-twitter-0.2.2/lib/em-twitter/connection.rb:93:in `unbind'
    from /Users/mine/.rvm/gems/ruby-2.0.0-p0/gems/eventmachine-1.0.3/lib/eventmachine.rb:1440:in `event_callback'
    from /Users/mine/.rvm/gems/ruby-2.0.0-p0/gems/eventmachine-1.0.3/lib/eventmachine.rb:187:in `run_machine'
    from /Users/mine/.rvm/gems/ruby-2.0.0-p0/gems/eventmachine-1.0.3/lib/eventmachine.rb:187:in `run'
    from /Users/mine/.rvm/gems/ruby-2.0.0-p0/gems/tweetstream-2.5.0/lib/tweetstream/client.rb:388:in `start'
    from /Users/mine/.rvm/gems/ruby-2.0.0-p0/gems/tweetstream-2.5.0/lib/tweetstream/client.rb:131:in `filter'
    from /Users/mine/.rvm/gems/ruby-2.0.0-p0/gems/tweetstream-2.5.0/lib/tweetstream/client.rb:98:in `track'

这是我第一次使用tweetstream,从文档中看,这似乎是我应该做的事情。我遗漏了什么?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-06-11 17:27:39

我听说TweetStream在ruby 2.0.0上遇到了一些问题,你试过ruby 1.9.3吗?

更新

我刚刚试过了,你的代码在ruby 1.9.3 (与rvm一起安装)上工作得很好。我唯一的问题是,流似乎在一段时间后停止检索新消息。

票数 1
EN

Stack Overflow用户

发布于 2015-01-10 02:14:53

在我的例子中,出现这个错误是因为我在2个rails应用程序实例(在临时服务器和生产服务器上)+1个本地(开发)实例中使用了相同的键。

第三个实例无法连接到tweets流。It is cause because of the twitter limitations

因此,我通过为每个Rails应用程序实例创建专用的twitter应用程序(使用单独的键)解决了这个问题。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16247060

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档