| 
<?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());
 }
 
 |