Sha256: c943b0d3ab6baca1cfb4ae8c673cb38ef234884d1eba31e05a384db550092a54
Contents?: true
Size: 1.27 KB
Versions: 1
Compression:
Stored size: 1.27 KB
Contents
require './auth' class PushApi < DataSiftExample def initialize super end def run begin @params = {:output_type => 'pull'} puts 'Validating' if @datasift.push.valid? @params stream = @datasift.compile 'interaction.content contains "music"' subscription = create_push(stream[:data][:hash]) subscription_id = subscription[:data][:id] #pull a bunch of interactions from the push queue - only work if we had set the output_type above to pull #pull @datasift.pull subscription_id puts 'pullinga' @datasift.push.pull(subscription_id).each { |e| puts e } sleep 10 puts 'pullingb' @datasift.push.pull(subscription_id).each { |e| puts e } sleep 10 puts 'pullingc' #passing a lambda is more efficient because it is executed once for each interaction received #this saves having to iterate over the array returned so the same iteration isn't done twice @datasift.push.pull(subscription_id,20971520,'', lambda{ |e| puts "on_message => #{e}" }) puts 'pullingdelete' @datasift.push.delete subscription_id end #rescue DataSiftError rescue DataSiftError => dse puts dse.inspect end end end PushApi.new().run
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
datasift-3.0.0.beta4 | examples/pull.rb |