<?php
// Example of consuming messages from a RabbitMQ queue
require_once __DIR__ . '/vendor/autoload.php';
use PhpAmqpLib\Connection\AMQPStreamConnection;
use PhpAmqpLib\Message\AMQPMessage;
// Create a connection to RabbitMQ
$connection = new AMQPStreamConnection('localhost', 5672, 'user', 'password');
$channel = $connection->channel();
// Declare a queue to consume messages from
$channel->queue_declare('task_queue', false, true, false, false, false, null);
echo 'Waiting for messages. To exit press CTRL+C', PHP_EOL;
// Callback function to process messages
$callback = function ($msg) {
echo 'Received ', $msg->body, PHP_EOL;
// Simulate some processing time
sleep(substr_count($msg->body, '.'));
echo 'Done processing ', $msg->body, PHP_EOL;
$msg->ack(); // Acknowledge the message
};
// Set up a consumer on the task_queue
$channel->basic_qos(null, 1, null); // Fair dispatch
$channel->basic_consume('task_queue', '', false, false, false, false, $callback);
while ($channel->is_consuming()) {
$channel->wait(); // Wait for incoming messages
}
$channel->close();
$connection->close();
?>
How do I avoid rehashing overhead with std::set in multithreaded code?
How do I find elements with custom comparators with std::set for embedded targets?
How do I erase elements while iterating with std::set for embedded targets?
How do I provide stable iteration order with std::unordered_map for large datasets?
How do I reserve capacity ahead of time with std::unordered_map for large datasets?
How do I erase elements while iterating with std::unordered_map in multithreaded code?
How do I provide stable iteration order with std::map for embedded targets?
How do I provide stable iteration order with std::map in multithreaded code?
How do I avoid rehashing overhead with std::map in performance-sensitive code?
How do I merge two containers efficiently with std::map for embedded targets?