about summary refs log tree commit diff
diff options
context:
space:
mode:
authorfranck cuny <franck@lumberjaph.net>2010-06-24 11:22:44 +0200
committerfranck cuny <franck@lumberjaph.net>2010-06-24 11:22:44 +0200
commit1838027849e81b68c5c135803b413fff4c7b4cf2 (patch)
tree61d806cc276428776462bfe86e484fa3b7d25e7a
parentsome POD update, code cleanup, ... (diff)
downloadpresque-1838027849e81b68c5c135803b413fff4c7b4cf2.tar.gz
small script to insert tweet from the stream api to presque
-rw-r--r--eg/twitter.pl34
1 files changed, 34 insertions, 0 deletions
diff --git a/eg/twitter.pl b/eg/twitter.pl
new file mode 100644
index 0000000..b074641
--- /dev/null
+++ b/eg/twitter.pl
@@ -0,0 +1,34 @@
+#!/usr/bin/perl
+use strict;
+use Net::Presque;
+use AnyEvent::Twitter::Stream;
+
+my $done = AE::cv;
+
+my($user, $password, $method, %args) = @ARGV;
+
+my $presque = Net::Presque->new(api_base_url => 'http://localhost:5000');
+
+my $streamer = AnyEvent::Twitter::Stream->new(
+    username => $user,
+    password => $password,
+    method   => $method || "sample",
+    %args,
+    on_tweet => sub {
+        my $tweet = shift;
+        $presque->create_job(queue_name => 'twitter_stream', user => $tweet->{user}{screen_name}, text => $tweet->{text});
+    },
+    on_error => sub {
+        my $error = shift;
+        warn "ERROR: $error";
+        $done->send;
+    },
+    on_eof   => sub {
+        $done->send;
+    },
+);
+
+# uncomment to test undef $streamer
+# my $t = AE::timer 1, 0, sub { undef $streamer };
+
+$done->recv;