amqp_publisher.php 961 B

123456789101112131415161718192021222324252627282930313233343536
  1. #!/usr/bin/php
  2. <?php
  3. /**
  4. * Sends a message to a queue
  5. *
  6. * @author Sean Murphy<sean@iamseanmurphy.com>
  7. */
  8. require_once('../amqp.inc');
  9. $HOST = 'localhost';
  10. $PORT = 5672;
  11. $USER = 'guest';
  12. $PASS = 'guest';
  13. $VHOST = '/';
  14. $EXCHANGE = 'airtime-schedule';
  15. $QUEUE = 'msgs';
  16. $conn = new AMQPConnection($HOST, $PORT, $USER, $PASS);
  17. $ch = $conn->channel();
  18. $ch->access_request($VHOST, false, false, true, true);
  19. $ch->exchange_declare($EXCHANGE, 'direct', false, true);
  20. $msg_body = json_encode(array("event_type"=>"get_status", "id"=>time()));
  21. //$msg_body = '{"schedule":{"status":{"range":{"start":"2011-09-12 20:45:22","end":"2011-09-13 20:45:22"},"version":"1.1"},"playlists":[],"check":1,"stream_metadata":{"format":"","station_name":""}},"event_type":"update_schedule"}';
  22. $msg = new AMQPMessage($msg_body, array('content_type' => 'text/plain'));
  23. $ch->basic_publish($msg, $EXCHANGE);
  24. echo "Sent message '".$msg_body."'\n";
  25. $ch->close();
  26. $conn->close();
  27. ?>