#!/usr/bin/php -q <?php include '../classes/broker.php'; set_time_limit(0); error_reporting(1); #$broker=new SAPO_Broker(array('debug'=>TRUE,'force_streams'=>TRUE)); $broker = new SAPO_Broker(); // consumer example with periodic callbacks in main loop echo "Subscribing topics\n"; $broker->subscribe('/sapo/blogs/activity/post', NULL, "processTopic1"); echo "Adding periodic callbacks to the main loop\n"; $broker->add_callback(array("sec" => 5), "periodicCalls"); $broker->add_callback(array("sec" => 10), "periodicCalls2"); echo "Starting consumer\n"; $broker->consumer(); echo "Consumer exited (last err: " . $broker->net->last_err . ")\n"; function periodicCalls() { echo "Look mom, here I am\n"; } function periodicCalls2() { echo "Look mom, I'm here as well\n"; } function processTopic1($payload, $topic, $net) { echo "latest_status_timestamp_sent: " . $net->latest_status_timestamp_sent . "\n"; echo "latest_status_timestamp_received: " . $net->latest_status_timestamp_received . "\n"; echo "latest_status_message: " . $net->latest_status_message . "\n"; echo "processTopic1() just got " . $payload . "\n"; }
#!/usr/bin/php -q <?php include '../classes/broker.php'; set_time_limit(0); error_reporting(1); if (!$argv[1]) { echo "Usage {$argv['0']} topic [QUEUE|TOPIC|TOPIC_AS_QUEUE]\n"; exit; } #$broker=new SAPO_Broker(array('debug'=>TRUE)); $broker = new SAPO_Broker(); // consumer example if ($argv[2]) { $broker->subscribe($argv[1], array('destination_type' => $argv[2]), "processExceptions"); } else { $broker->subscribe($argv[1], NULL, "processExceptions"); } $broker->consumer(); function processExceptions($payload) { echo $payload . "\n"; }
#!/usr/bin/php -q <?php include '../classes/broker.php'; set_time_limit(0); error_reporting(1); #$broker=new SAPO_Broker(array('debug'=>TRUE)); $broker = new SAPO_Broker(); // consumer example echo "Subscribing topics\n"; $broker->subscribe('/sapo/tags/feeds/urls', NULL, "processUrls"); $broker->subscribe('/sapo/pesquisa/queries', NULL, "processSearch"); $broker->subscribe('/sapo/web/homepage/>', NULL, array("Test_Class", "processTests")); echo "Entering consumer() loop now\n"; $broker->consumer(); echo "Consumer exited (last err: " . $broker->net->last_err . ")\n"; function processUrls($payload) { echo "processUrls() just got " . $payload . "\n"; } function processSearch($payload) { echo "processSearch() just got " . $payload . "\n"; } class Test_Class { function processTests($payload) { echo "processTests() just got " . $payload . "\n"; } }
#!/usr/bin/php -q <?php include '../classes/broker.php'; set_time_limit(0); error_reporting(1); $count = 0; #$broker=new SAPO_Broker(array('debug'=>TRUE)); $broker = new SAPO_Broker(array('server' => '10.135.64.41', 'port' => 3322)); // consumer example echo "Subscribing topics\n"; $broker->subscribe('/test/b', NULL, "processEvent"); echo "Entering consumer() loop now\n"; $broker->consumer(); echo "Consumer exited (last err: " . $broker->net->last_err . ")\n"; function processEvent($payload) { global $count, $broker; echo "processEvent() just got " . $payload . "\n"; $count++; if ($count == 10) { echo "Unsubsribing topic now\n"; $broker->unsubscribe('/test/b'); } }