|
8 | 8 | use Illuminate\Support\Facades\Queue;
|
9 | 9 | use Illuminate\Support\ServiceProvider;
|
10 | 10 | use palPalani\SqsQueueReader\Sqs\Connector;
|
| 11 | +use Aws\Sqs\SqsClient; |
| 12 | +use Aws\Exception\AwsException; |
11 | 13 |
|
12 | 14 | class SqsQueueReaderServiceProvider extends ServiceProvider
|
13 | 15 | {
|
@@ -40,23 +42,40 @@ public function boot(): void
|
40 | 42 | $batchIds = array_chunk($batchIds, 10);
|
41 | 43 | Log::debug('Job array_chunk==', [$batchIds]);
|
42 | 44 |
|
| 45 | + $client = new SqsClient([ |
| 46 | + //'profile' => 'default', |
| 47 | + 'region' => Config::get('queue.connections.sqs-json.region'), |
| 48 | + 'version' => '2012-11-05' |
| 49 | + ]); |
| 50 | + |
43 | 51 | foreach ($batchIds as $batch) {
|
44 | 52 | //Deletes up to ten messages from the specified queue.
|
| 53 | + /* |
45 | 54 | $result = $event->job->deleteMessageBatch([
|
46 | 55 | 'Entries' => $batch,
|
47 | 56 | 'QueueUrl' => $queue,
|
48 | 57 | ]);
|
| 58 | + */ |
49 | 59 |
|
50 |
| - if (isset($result['Failed'])) { |
51 |
| - $msg = ''; |
52 |
| - foreach ($result['Failed'] as $failed) { |
53 |
| - $msg .= sprintf("Deleting message failed, code = %s, id = %s, msg = %s, senderfault = %s", $failed['Code'], $failed['Id'], $failed['Message'], $failed['SenderFault']); |
54 |
| - } |
55 |
| - Log::error('Cannot delete some SQS messages: ', [$msg]); |
| 60 | + try { |
| 61 | + $result = $client->deleteMessageBatch([ |
| 62 | + 'Entries' => $batch, |
| 63 | + 'QueueUrl' => $queue, |
| 64 | + ]); |
56 | 65 |
|
57 |
| - throw new \RuntimeException("Cannot delete some messages, consult log for more info!"); |
| 66 | + if (isset($result['Failed'])) { |
| 67 | + $msg = ''; |
| 68 | + foreach ($result['Failed'] as $failed) { |
| 69 | + $msg .= sprintf("Deleting message failed, code = %s, id = %s, msg = %s, senderfault = %s", $failed['Code'], $failed['Id'], $failed['Message'], $failed['SenderFault']); |
| 70 | + } |
| 71 | + Log::error('Cannot delete some SQS messages: ', [$msg]); |
| 72 | + |
| 73 | + throw new \RuntimeException("Cannot delete some messages, consult log for more info!"); |
| 74 | + } |
| 75 | + Log::info('Message remove report:', [$result]); |
| 76 | + } catch (AwsException $e) { |
| 77 | + Log::error('AWS SQS client error:', [$e->getMessage()]); |
58 | 78 | }
|
59 |
| - Log::info('Message remove report:', [$result]); |
60 | 79 | }
|
61 | 80 | }
|
62 | 81 | }
|
|
0 commit comments