我正在线程内运行与twitter gem的流连接。我通过简单地杀死线程并打开一个新线程来断开连接。我在新旧线程之间有重叠,所以我不会错过任何东西(希望如此)。
但是如果我快速杀死一些,我会收到Exceeded connection limit for user
来自 API 的错误。这是因为 twitter 一次只允许 2 个连接。似乎连接仍然打开...
有没有办法使用 twitter gem 断开连接?我想在杀死线程之前断开流,这样我就知道有多少是打开的。
我的代码看起来像这样:
thred = Thread.new do
client = ::Twitter::Streaming::Client.new(..config..)
client.filter(follow: '1,2,44') do |tweet|
// do stuff
end
end
我像这样杀死他们:
thred.kill
但我想运行类似的东西:
client.disconnect
然后整理死线什么的...