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