1. Go to this page and download the library: Download solcloud/consumer library. Choose the download type require.
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
solcloud / consumer example snippets
$config = new \Solcloud\Consumer\QueueConfig();
$config
->setHost('solcloud_rabbitmq')
->setVhost('/')
#->setHeartbeatSec(5)
->setUsername('dev')
->setPassword('dev')
;
$connectionFactory = new \Solcloud\Consumer\QueueConnectionFactory($config);
$connection = $connectionFactory->createSocketConnection();
#(new \PhpAmqpLib\Connection\Heartbeat\PCNTLHeartbeatSender($connection))->register(); // if heartbeat and pcntl_async_signals() is available
$worker = new class($channel) extends \Solcloud\Consumer\BaseConsumer {
protected function run(): void
{
// Your hard work here
echo "Processing message: " . $this->data->id . PHP_EOL;
}
};
$worker->consume($consumeQueueName);
while ($worker->hasCallback()) {
try {
// While we have callback lets enter event loop with some timeout
$worker->wait(rand(8, 11));
} catch (\PhpAmqpLib\Exception\AMQPTimeoutException $ex) {
echo $ex->getMessage() . PHP_EOL;
}
}
$worker->closeChannel();
$worker->publishMessage(
$worker->createMessageHelper([], ["id" => 1]),
'',
$consumeQueueName
); // OR open rabbitmq management and publish: {"meta":[],"data":{"id":1}}