2012-01-10 66 views
0

我正在使用Tweetstream gem來監視單個twitter userstream,並且希望將此擴展爲監視網站的每個用戶的userstream。我目前正在通過部署的耙子啓動這個守護進程。引入多個守護進程(每個用戶一個)引入了我之前沒有處理過的一些問題:正確啓動多個TweetStream守護進程以進行監視Twitter的方式

  1. 如何啓動所有這些守護程序?當他註冊時,我將爲用戶啓動一個。如果在Capistrano部署中另外停止它們,然後運行rake任務來循環遍歷所有用戶併爲每個用戶啓動一個守護程序,是否有意義?
  2. 如何監視所有守護進程以確保它們都正確運行?
  3. 什麼是成本的RAM和處理有很多的守護進程運行?
  4. 是否有任何其他考慮我錯過了。

您的見解會讓我有信心繼續:)謝謝!

回答

0

看來,他們實際上不希望這樣(2012年1月11日)。從他們的文檔:

用戶流幾乎所有數據都需要更新用戶的顯示。 需要用戶的OAuth令牌。提供公共和受保護的 狀態以下,直接消息,提及和其他事件 採取和由用戶。從相同的主機或服務創建的大量用戶流可能不是 。例如,一次顯示幾個帳戶的應用程序 可能會根據 帳戶開立連接。主要使用案例是向Twitter的客戶提供更新。

網站流BETA允許多個用戶流在 網站流連接上多路複用。一旦有多個用戶流 連接從同一主機或服務打開,必須使用站點流 。主要使用案例是網站和其他服務 集成。

所以看來我應該申請訪問這個。

0

我不明白你的代碼,但tweetstream可以用一個守護進程監視多個用戶。這個代碼是從their docs

# Use 'follow' to follow a group of user ids (integers, not screen names) 
TweetStream::Client.new.follow(14252, 53235) do |status| 
    puts "#{status.text}" 
end 

這只是使用微博API「後續」參數,其在Twitter's API docs說明。很明顯,您需要處理傳入的數據並執行任何操作,但每個status element都應該返回解析出用戶所需的數據。除非你的應用程序非常小,否則運行多個進程來完成這項工作並不是一個好的選擇。

+0

感謝您的回覆,但我添加了一個顯示Twitter官方立場的答案。遵循的想法是我考慮過的,但是在某些情況下,對用戶流有限的觀點顯示,因此不符合我們的要求。 – Inc1982 2012-01-11 13:02:23

+0

啊,我誤解了你的問題,我以爲你想跟蹤他們的推文。 – muffinista 2012-01-11 14:07:52