$connection = new AMQPStreamConnection('localhost', 5672, 'guest', 'guest'); $channel = $connection->channel();
$channel->exchange_declare('send', 'x-delayed-message', false, false, true, false, false,new AMQPTable([ 'x-delayed-type' => 'x-delayed-message', ])); $data = [1,2,3,4,5,6,7]; for ($i=0; $i < count($data); $i++) { $msg = new AMQPMessage($data[$i],array( 'delivery_mode' => 2, 'application_headers' => new AMQPTable([ 'x-delay' => 10000, ]) )); $channel->basic_publish($msg, '', 'hello');
echo " [x] Sent 'Hello World!'\n"; } $channel->close(); $connection->close();$connection = new AMQPStreamConnection('localhost', 5672, 'guest', 'guest'); $channel = $connection->channel();
$channel->queue_declare('hello', false, false, false, false);
echo " [*] Waiting for messages. To exit press CTRL+C\n";
$callback = function ($msg) { echo ' [x] Received ', $msg->body, "\n"; }; $channel->basic_consume('hello', '', false, true, false, false, $callback); while ($channel->is_consuming()) { $channel->wait(); }
$channel->close(); $connection->close();