[Rails] Re: Tweetstream
Hi Josh,
If your overall goal is to run it as a background task on Heroku, I
think you want this: http://docs.heroku.com/background-jobs.
I don't think that there's any other way to run background jobs on
Heroku.
Regards
Ritchie
On Mar 2, 4:50 am, Josh Cheek <josh.ch...@gmail.com> wrote:
> Hi, I want to use the TweetStream gemhttp://github.com/intridea/tweetstreaminmy Rails app
>
> I can't seem to figure out how to do it, because it opens a connection and
> then won't move on.
>
> I got it to work in a Ruby script with
>
> ---------- start code ----------
> require 'rubygems'
> require 'tweetstream'
>
> user = 'blinkdev'
> password = **secret**
> keyword = '#ROCKPIC'
>
> Thread.new do
> TweetStream::Client.new(user,password).track(keyword) do |status|
> puts "[#{status.created_at}-#{status.user.screen_name}] #{status.text}"
> end
> end
>
> loop do
> sleep 10
> puts "other stuff happening"
> end
>
> ---------- end code ----------
>
> Which gives the output:
> other stuff happening
> other stuff happening
> [Mon Mar 01 20:30:59 +0000 2010-blinkdev] test #ROCKPIC 7
> other stuff happening
>
> So I tried to replicate that in my Rails app in the file
> config/initializers/twitter_stream.rb
> ---------- start code ----------
> require 'rubygems'
> require 'tweetstream'
>
> Thread.new do
> logger.info "started tweetstream"
>
> TweetStream::Client.new('blinkdev',**secret**).track('#ROCKPIC') do
> |status|
> message = "[#{status.created_at}-#{status.user.screen_name}]
> #{status.text}"
> logger.info message
> logger.info Rockpic.new( :message => message ).save!
> end
>
> end
> ---------- end code ----------
>
> But it didn't work. I couldn't get it to log anything either. So I went and
> tried it in the console:
>
> ---------- start code ----------
> $script/console
> Loading development environment (Rails 2.3.3)>> require 'rubygems'
> => []
> >> require 'tweetstream'
> => []
>
> ?> Thread.new do
> ?> logger.info "started tweetstream"
>
> ?> TweetStream::Client.new('blinkdev',**secret**).track('#ROCKPIC') do
> |status|
> ?> message = "[#{status.created_at}-#{status.user.screen_name}]
> #{status.text}">> logger.info message
> >> logger.info Rockpic.new( :message => message ).save!
> >> end
>
> ?> end
> => #<Thread:0x24ba60c dead>
> ---------- end code ----------
>
> It doesn't seem to do anything. I tried playing with daemons, but I can't
> figure out how to use them either.
> If someone can show me how to use daemons, I'll give that a try (I have the
> daemons gem installedhttp://rubygems.org/gems/daemons) and it looks like
> TweetStream has their own version with Daemons,http://rdoc.info/rdoc/intridea/tweetstream/blob/e5ecb9ef125ebce038d24...
> I can't seem to get it to do anything:
>
> ---------- start code ----------
> ARGV << 'start'
> require 'rubygems'
> require 'tweetstream'
>
> user = 'blinkdev'
> password = **secret**
> keyword = '#ROCKPIC'
>
> TweetStream::Daemon.new(user,password, 'tracker').track(keyword) do |status|
> puts "[#{status.created_at}-#{status.user.screen_name}] #{status.text}"
> end
> ---------- end code ----------
>
> It runs, but it doesn't respond to anything, and I think I need it to run in
> the Rails environment, because I want to host it on Heroku. Anyway, I'm not
> sure where to go with it, I just want my Rails app to have a stream to
> twitter to watch for a given hash tag, and a particular user's tweets.
>
> Any help would be appreciated.
--
You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group.
To post to this group, send email to rubyonrails-talk@googlegroups.com.
To unsubscribe from this group, send email to rubyonrails-talk+unsubscribe@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en.
0 Comments:
Post a Comment
Subscribe to Post Comments [Atom]
<< Home