PHP Classes

File: consumer/src/run.php

Recommend this page to a friend!
  Classes of DeGraciaMathieu   Proto x Bus   consumer/src/run.php   Download  
File: consumer/src/run.php
Role: Example script
Content type: text/plain
Description: Example script
Class: Proto x Bus
Manage queues of messages using protocol buffers
Author: By
Last change:
Date: 10 days ago
Size: 1,061 bytes
 

Contents

Class file image Download
<?php

require_once __DIR__ . '/../vendor/autoload.php';

use
Aws\Sqs\SqsClient;
use
Aws\Exception\AwsException;

$sqsClient = new SqsClient([
   
'version' => 'latest',
   
'region' => 'us-east-1',
   
'endpoint' => 'http://localhost:4566',
]);

$queueUrl = 'http://sqs.us-east-1.localhost.localstack.cloud:4566/000000000000/testing-queue';

try {

   
$result = $sqsClient->receiveMessage([
       
'QueueUrl' => $queueUrl,
       
'MaxNumberOfMessages' => 1,
       
'VisibilityTimeout' => 0,
       
'WaitTimeSeconds' => 0,
    ]);

   
$messages = $result->get('Messages');

    if (!
$messages) {
       
dd('No messages');
    }

    foreach (
$messages as $message) {

       
$gameDeserialized = new Game();
       
$gameDeserialized->mergeFromString($message['Body']);

        echo
'game found : ' . $gameDeserialized->getName() . PHP_EOL;

       
$sqsClient->deleteMessage([
           
'QueueUrl' => $queueUrl,
           
'ReceiptHandle' => $message['ReceiptHandle'],
        ]);
    }

} catch (
AwsException $e) {
   
dump($e->getMessage());
}